Member 12605293 Ответов: 1

Как вызвать webmethod и показать предупреждающее сообщение


Hi,
    I am trying to give an alert message using "WebMethod",where my conditions are as follows

1.I am trying to restrict the user applying leave on "Monday" when he/She has already taken Leave on the previous friday.
2.I am geeting the details from my Database where the employees leave Details and trying to code this in WebMethod.


Что я уже пробовал:

<pre>My cs page code:

       [System.Web.Services.WebMethod]
    public  string GetCurrentTime()
    {
        SqlConnection con = new SqlConnection(conString);
        con.Open();
        SqlCommand cn = new SqlCommand();
        DateTime date3 = System.DateTime.Now;
        DateTime date4 = System.DateTime.Now;
        DateTime date1 = System.DateTime.Now.AddDays(-6); ;
        DateTime date2 = System.DateTime.Now.AddDays(-6);
        DateTime.TryParse(txtFromDate.Text, out date1);
        DateTime.TryParse(txtToDate.Text, out date2);
        
       // string val;
       // var EmpID = "SS212";
        SqlDataAdapter da = new SqlDataAdapter(scmd);
            DataTable dt=new DataTable();
            da.Fill(dt);
            sdr = scmd.ExecuteReader();
        if (date1.DayOfWeek == DayOfWeek.Monday && date2.DayOfWeek == DayOfWeek.Monday)
        {
            string Leave = "Select EmpID ,LeaveType,LeaveFromDate,LeaveToDate,LeaveStatus from LeaveApplication Where LeaveFromDate  = '" + date1 + "' and LeaveToDate  = '" + date2 + "'";
            scmd = new SqlCommand(Leave, scon);
            
            
            
        }
        for(int i = 0; i < dt.Rows.Count; i++)
        {

            String value ;
            if ((dt.Rows[i]["LeaveStatus"].ToString() == "Accepted") || (dt.Rows[i]["LeaveStatus"].ToString() == "Pending")) 

        {
          value="";
        
        }
            else 
        {

            value = "";
        }

        }
       

        return "";       
    }




My aspx:



            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        function ShowCurrentDate() {
            
            $.ajax({
                type: "POST",
                url: "LMSEmployee.aspx/GetCurrentTime",
                data: params,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: OnSuccess,
                failure: function (response) {
                    alert("Please");
                }
            });
        }
        function OnSuccess(response) {
            alert("Please");

        }
        </script>

Karthik_Mahalingam

в чем же дело

Member 12605293

Привет Картик,
Приятно видеть вас снова,не знаю, как использовать WebMethod

Karthik_Mahalingam

что такое параметры

Richard Deeming

Кроме того, похоже, что вы храните даты в виде строк. Это приведет только к проблемам. Вместо этого используйте один из наиболее подходящих типов данных:
Типы даты и времени[^]

1 Ответов

Рейтинг:
5

Karthik_Mahalingam

обратитесь к этому
Звоню ASP.Net WebMethod с использованием jQuery AJAX[^]
попробуйте с static метод


Member 12605293

Да, Картик, это прекрасно работает.Но в моем случае тогда функция не вызывалась

Karthik_Mahalingam

попадает ли он в точку останова.

Member 12605293

Привет Картик

[System.Web.Services.WebMethod]
    public string GetDetails()
    {
        DateTime date3 = System.DateTime.Now;
        DateTime date4 = System.DateTime.Now;
       // DateTime date1 = System.DateTime.Now.AddDays(-7); ;
       // DateTime date2 = System.DateTime.Now.AddDays(-7);
        DateTime.TryParse(txtFromDate.Text, out date3);
        DateTime.TryParse(txtToDate.Text, out date4);
        string Id = "SS472";
        string Leave = "Select EmpID ,LeaveType,LeaveFromDate,LeaveToDate,LeaveStatus from LeaveApplication Where LeaveFromDate  >= '" + date3.AddDays(-7) + "' and LeaveToDate  <= '" + date4.AddDays(-7) + "' and EmpID  = '" + Id + "'  ";
        scon = new SqlConnection(conString);
        scmd = new SqlCommand(Leave, scon);
        scon.Open();
        sda = new SqlDataAdapter(scmd);
        ds = new DataSet();
        ds.Clear();
        sda.Fill(ds, "LeaveApplication");
        table = ds.Tables[0];
        String Value=""; 
        for (int i = 0; i < table.Rows.Count; i++)
        {

            if ((table.Rows[i]["LeaveStatus"].ToString() == "Accepted") || (table.Rows[i]["LeaveStatus"].ToString() == "Pending") || (table.Rows[i]["LeaveHalfDayFrom"].ToString() == "FN"))
            {
                Value = "Leave Not Allowed";
            }

            else if (table.Rows[i]["LeaveStatus"].ToString()=="Rejected")
            { 
            
            }

        }
        scon.Close();


        return Value;
    }


<input id="btnGetResponses" type="button" value="Show Current Time"  />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("#btnGetResponses").click(function () {
                $.ajax({
                    type: "POST",
                    url: "LMSEmployee.aspx/GetDetails",
                    data: '{}',
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (response) {
                        if (response.d == true) {
                            alert("Abc");
                            
                        }
                    },
                    failure: function (response) {
                        alert(response.d);
                    }
                });
            });
        });
        </script>

Karthik_Mahalingam

попробуйте использовать статическое ключевое слово,
проверьте наличие каких-либо ошибок в консоли chrome

Member 12605293

Я пытался, но это не было названо

Karthik_Mahalingam

какая-нибудь ошибка в консоли?

Member 12605293

Имя функции не отображается в консоли.Между тем я хочу еще кое-что.

Karthik_Mahalingam

что

Member 12605293

Я внедрил приведенный ниже код, чтобы удовлетворить мое требование,

В жалобе, если работник берет отпуск в пятницу и в ближайший понедельник ему не разрешается подавать заявление об отпуске,то каждый понедельник контролируется предыдущая пятница.
Frm date и Todate используются для управления календарем, а данные извлекаются из БД.

[System.Web.Services.WebMethod]
    public static string GetDetails(DateTime date3, DateTime date4)
    {
        string conString = System.Configuration.ConfigurationManager.ConnectionStrings["TimeSheetConnectionString2"].ConnectionString;
        SqlConnection scon;
        SqlCommand scmd;
        SqlDataAdapter sda;
        SqlDataReader sdr;
        DataSet ds;
        DataTable dtab;
        DataTable table;
        if (HttpContext.Current != null)
        {
            date3 = System.DateTime.Now;
            date4 = System.DateTime.Now;
            // DateTime date1 = System.DateTime.Now.AddDays(-7); ;
            // DateTime date2 = System.DateTime.Now.AddDays(-7);

            //DateTime.TryParse(txtFromDate.Text, out date3);
            //DateTime.TryParse(txtToDate.Text, out date4);

        }
        

        string Id = "SS472";
        string Leave = "Select EmpID ,LeaveType,LeaveFromDate,LeaveToDate,LeaveStatus from LeaveApplication Where LeaveFromDate  >= '" + date3.AddDays(-7) + "' and LeaveToDate  <= '" + date4.AddDays(-7) + "' and EmpID  = '" + Id + "'  ";
        
       
        
        scmd = new SqlCommand(Leave);
       
        sda = new SqlDataAdapter(scmd);
        ds = new DataSet();
        ds.Clear();
        sda.Fill(ds, "LeaveApplication");
        table = ds.Tables[0];
        string message = string.Empty;
        for (int i = 0; i < table.Rows.Count; i++)
        {

            if ((table.Rows[i]["LeaveStatus"].ToString() == "Accepted") || (table.Rows[i]["LeaveStatus"].ToString() == "Pending"))
            {
                message = "Leave Not Allowed";
            }

            else if (table.Rows[i]["LeaveStatus"].ToString() == "Rejected")
            {
                message = "";
            }

        }
        


        return message;
    }

Member 12605293

Привет Картик

Karthik_Mahalingam

Привет

Member 12605293

У меня есть сомнения в моей логике C#, не знаю, как проверить,можете ли вы направить меня.

Karthik_Mahalingam

Какая логика

Member 12605293

Я должен ограничить кандидатов от подачи заявления об отпуске на следующие и предшествующие будни
Например, пт, сб, вс, пн.
Я должен показать предупреждающее сообщение в двух случаях, таких как
когда человек берет отпуск в понедельник, он должен в предыдущую пятницу подать заявление об отпуске в пятницу и не позволить кандидату подать заявление в понедельник.

Member 12605293

У меня есть свой код для этого

Karthik_Mahalingam

просмотр команды

Member 12605293

Привет Картик,
Мне не разрешено использовать Team Viewer в офисе :(

Karthik_Mahalingam

о, теперь я в офисе
пинг меня после 6 вечера

Member 12605293

ладно

Member 12605293

Привет.

Karthik_Mahalingam

привет

Member 12605293

Привет Картик,
Доброе

Karthik_Mahalingam

привет

Member 12605293

Должен ли я разместить свой код здесь,мне нужно разъяснение karthik, теперь я нахожусь в офисе и не могу использовать Team Viewer

Karthik_Mahalingam

ладно какие разъяснения вам нужны

Member 12605293

Когда я заполняю оба текстовых поля.срабатывает событие размытия.После сообщения об ошибке, когда я попытался изменить значение в первом текстовом поле, событие срабатывает перед изменением второго текстового поля.

Member 12605293




$(документ).готово(функция () {
$("[id*=txtFromDate], [id*=txtToDate]"). blur(функция () {

var obj = {};
параметр obj.дата3 = $.функция TRIM($("[ИД*=txtFromDate]").вал());
параметр obj.дата4 = $.функция TRIM($("[ИД*=txtToDate]").вал());
если (объект.дата3 != усилитель" &;&амп; в obj.дата4 != ") {
var temp = $. ajax({
тип: "пост",
url: 'LMSEmployee.aspx/GetCurrentTime',
сведения: в формате JSON.преобразовать в строки(параметр obj),
contentType: "application/json; charset=utf-8",
тип данных: "json",
});
temp. success(функция (ответ) {
if (response. d = = " применить") {
$("[id *= btnApply]"). attr ('disabled', false);
}
еще {
$("[id *= btnApply]"). attr ('disabled', true);
предупреждение(ответ.д);
}
})

}
возвращать false;
});
});


Karthik_Mahalingam

для этого вам нужно сохранить Предыдущее значение в переменной и попробовать
сравните, если оба они не одинаковы

Member 12605293

Можете ли вы дать пример использования моего кода

Karthik_Mahalingam

вот как это работает,
что вы можете сделать, так это после сообщения об ошибке очистить текстовые поля
логика вашего requiremetn неверна. замените размытие кнопкой..

Karthik_Mahalingam

логически мыслить.

Member 12605293

Привет Картик

Karthik_Mahalingam

привет

Member 12605293

Привет Доброе Утро

Karthik_Mahalingam

ГМ

Member 12605293

Привет Картик
Он показывает, что оператор == не может быть применен к операндам типа string и bool

стол.Строки[0] ["ShiftDetails"].ToString () = = " false"

Karthik_Mahalingam

как это может быть
это юридический синтаксис
это должно сработать.

флаг bool = таблица.Строки[0] ["ShiftDetails"].ToString () = = " false";

Member 12605293

Это в состоянии если Картик,
если ((табл.Строки[0] ["LeaveStatus"].ToString () = = "принято" | / таблица.Строки[0] ["LeaveStatus"].ToString () = = "Pending" | / таблица.Строки[0] ["Статус"].Усилитель метод toString() == "нет") &;&ампер; (флаг типа bool = таблица.Строки[0] ["ShiftDetails"].ToString () = = " false" ))

Member 12605293

Уже тип данных столбца бит

Karthik_Mahalingam

 DataRow row = table.Rows[0];
            if ((row["LeaveStatus"].ToString() == "Accepted" || row["LeaveStatus"].ToString() == "Pending" || row["Status"].ToString() == "Absent") && (row["ShiftDetails"].ToString() == "false")) { }

Karthik_Mahalingam

стол.Строки[0] ["ShiftDetails"].Метод toString().ToLower () == " false"

Member 12605293

Спасибо Картик :)

Karthik_Mahalingam

добро пожаловать

Member 12605293

Картик,
Как проверить ie (eiher с помощью ""/null) столбец, когда в этом столбце нет записи?

Karthik_Mahalingam

bool val = строка.IsNullOrEmpty (табл.Строки[0] ["Имя Столбца"]) ;

Member 12605293

Спасибо Картик

Karthik_Mahalingam

добро пожаловать

Member 12605293

Опять же у меня есть сомнения в вызове флажка webmethod

Karthik_Mahalingam

Я за

Member 12605293

Привет доброе

Karthik_Mahalingam

ГМ

Member 12605293

Привет, Картик, могу я спросить о своих сомнениях?

Member 12605293

У меня есть два элемента управления календарем,и когда оба текста заполнены и onBLUR, веб-метод попадает..С другой стороны,у меня есть флажок, и он не установлен изначально, но когда он установлен, я не хочу, чтобы веб-метод попал.

Karthik_Mahalingam

затем проверьте условие для него, в чем проблема

Karthik_Mahalingam

ладно

Member 12605293

$(document).ready(function () {
            $("[id*=txtFromDate],[id*=txtToDate],[id*=chkHalfFrom]").blur(function () {

                var obj = {};
                obj.date3 = $.trim($("[id*=txtFromDate]").val());
                obj.date4 = $.trim($("[id*=txtToDate]").val());
                obj.chek1 = chek1 = $('[id*=chkHalfFrom]').is(":checked");

                if (obj.date3 != '' && obj.date4 != '' && !obj.chek1) {
                    var temp = $.ajax({
                        type: "POST",
                        url: 'LMSEmployee.aspx/GetCurrentTime',
                        data: JSON.stringify(obj),
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                    });
                    temp.success(function (response) {

                        if (response.d == "Apply") {
                            $("[id *= btnApply]").attr('disabled', false);
                        }
                        else {

                            $("[id *= btnApply]").attr('disabled', true);
                            $("[id *= txtToDate]").val('');
                            alert(response.d);
                        }
                        if (obj.chek1) {
                            $("[id *= btnApply]").attr('disabled', false);
                        }

                    })

                }

                
                return false;
            });
        });
 

Karthik_Mahalingam

запустите это в консоли и посмотрите, что вы получаете
$('[id*=chkHalfFrom]'). is ( " : проверено");

Member 12605293

Karthik, два элемента управления календарем, выбор значения в Cal Caontrol покажет флажки под каждым элементом управления Cal.Я хочу, чтобы, когда два cc имеют значение и флажок снят, webmethod sholud вызывается, иначе он не должен

Member 12605293

Привет Доброе Утро :)

Member 12605293

Привет ГМ :)

Karthik_Mahalingam

привет ГМ
я был в отпуске последние 4 дня

Member 12605293

Все в порядке, Картик. Добрый Морг :)

Karthik_Mahalingam

ГМ

Member 12605293

Привет Доброе Утро :)

Karthik_Mahalingam

ГМ

Member 12605293

Я хочу знать, как показать другой цвет на значениях строк в GRidview.

Karthik_Mahalingam

https://www.aspsnippets.com/Articles/Dynamically-change-GridView-Row-Background-Color-based-on-condition-in-ASPNet-using-C-and-VBNet.aspx

Karthik_Mahalingam

https://stackoverflow.com/a/2193018/1147428

Member 12605293

Привет, Картик, я попробовал вышеприведенный образец.Но в моем случае я использую хранимую процедуру.

Karthik_Mahalingam

так что же, это не делает большой разницы при использовании хранимой процедуры, это просто способ извлечения данных

Member 12605293

protected void btnSubmit_Click(object sender, EventArgs e)
    {
        try
        {     
            string lnkdServerName = "";
            showErrorMsg.Visible = false;
            //if (chkOldDB.Checked == true)
            //{
            //    lnkdServerName = ConfigurationManager.AppSettings["LnkdSeverOld"];
            //    conn = connnew;
            //}
            //else
            //    lnkdServerName = ConfigurationManager.AppSettings["LnkdSever"];

            if (txtStartDate.Text == "")
            {
                txtStartDate.Focus();
                return;
            }
            if (txtEndDate.Text == "")
            {
                txtEndDate.Focus();
                return;
            }
            DateTime sd = Convert.ToDateTime(txtStartDate.Text);
            DateTime ed = Convert.ToDateTime(txtEndDate.Text);


            int countDate = Convert.ToInt32((ed - sd).TotalDays);
            showErrorMsg.Text = "";
            if (countDate >= 31)
            {
                showErrorMsg.Style.Add("margin-left", "0px");
                showErrorMsg.Visible = true;
                showErrorMsg.Text = "Date Range should not greater than 45 days";
                showErrorMsg.ForeColor = Color.Red;
               
                return;
            }

            if (ed < sd)
            {
                Response.Write("<script>alert('From Date should be less than To Date')</script>");
                return;
            }
            DataTable dtwithDates = new DataTable();
            
                if (ddlStatus.SelectedIndex == 0)
                {
                    if (ddlDept.SelectedIndex == 0 && ddlEmp.SelectedIndex == 0)
                    {
                        if (txtStartDate.Text != string.Empty && txtEndDate.Text != string.Empty)
                        {
                            if (txtStartDate.Text.Length == 10 && txtStartDate.Text.ToString().Substring(2, 1) == "/" && txtStartDate.Text.ToString().Substring(5, 1) == "/" && txtEndDate.Text.Length == 10 && txtEndDate.Text.ToString().Substring(2, 1) == "/" && txtEndDate.Text.ToString().Substring(5, 1) == "/")
                            {
                                if (ed > sd)
                                {
                                    dtwithDates.Clear();
                                    if (conn.State == ConnectionState.Closed)
                                    {
                                        conn.Open();
                                    }

                                    
                                }
                            }
                        }
                    }
                    
                   
                }
                else if (ddlStatus.SelectedIndex == 1)
                {
                    if (ddlDept.SelectedIndex == 0 && ddlEmp.SelectedIndex == 0)
                    {
                        if (txtStartDate.Text != string.Empty && txtEndDate.Text != string.Empty)
                        {
                            if (txtStartDate.Text.Length == 10 && txtStartDate.Text.ToString().Substring(2, 1) == "/" && txtStartDate.Text.ToString().Substring(5, 1) == "/" && txtEndDate.Text.Length == 10 && txtEndDate.Text.ToString().Substring(2, 1) == "/" && txtEndDate.Text.ToString().Substring(5, 1) == "/")
                            {
                                if (ed > sd)
                                {
                                    dtwithDates.Clear();
                                    if (conn.State == ConnectionState.Closed)
                                    {
                                        conn.Open();
                                    }
                                    SqlCommand cmdwit

Karthik_Mahalingam

код не имеет ничего общего с запросом, который вы задали

Member 12605293

То, что я пробовал, это

float TotDur = int.Parse(e.Row.Cells[7].Text);

        foreach (TableCell cell in e.Row.Cells)
        {
            if (TotDur <= 9.0)
            {
                cell.BackColor = Color.Red;
            }

        }

Karthik_Mahalingam

почему бы вам не использовать события gridview, такие как onrowbound, или событие Row created, подобное этому..

Member 12605293

Привет, Картик ГМ. :)

Karthik_Mahalingam

ГМ

Member 12605293

Как вы сказали, я написал свой код в связанном событии, я должен показать цвет предупреждения, когда указанный столбец пересекается ниже "9: 0". но входная строка не находится в правильном формате ошибки Araises.

protected void gridEmpList_RowDataBound(object sender, GridViewRowEventArgs e)
    {

      
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[10].Text = "9:5";
            float Record = int.Parse(e.Row.Cells[10].Text);
           
           // String Record = e.Row.Cells[10].Text;
            foreach (TableCell cell in e.Row.Cells)
            {
                if (Record > 9)
                {
                    cell.BackColor = Color.Orange;
                }
            }

        }
    }

Karthik_Mahalingam

почему вы анализируете значение int и присваиваете ему значение float
поплавок записи = тип int.Синтаксический анализ(например.Подряд.Клеток[10].Текст);

использовать метод tryparse
http://www.c-sharpcorner.com/blogs/how-to-use-inttryparse1

Member 12605293

Привет, Картик.Доброе :)

Karthik_Mahalingam

ГМ

Member 12605293

От даты до даты № дней причина статуса
2017-06-28 2017-06-28 1 Принято АВС
2017-06-28 2017-06-28 1 отклонено abc

Member 12605293

Привет, Картик.
Мне нужно ограничить дублирующуюся запись, как показано ниже

Karthik_Mahalingam

Ват ваш ожидаемый результат

Member 12605293

Что я уже пробовал,


Select DISTINCT LeaveFromDate,LeaveToDate, EmpID ,LeaveType,LeaveStatus from IntranetRelease.dbo.LeaveApplication Where  LeaveFromDate >='2017-06-30'  and LeaveToDate  <= '2017-06-30'  and EmpID  = 'SS525'

Karthik_Mahalingam

в чем проблема

Member 12605293

При нажатии кнопки Применить я использую условие if сверху

lblLeaveApplyErrorMsg.Visible = false;
        string strLAEmpid = lblEmpID.Text;
        string strLAEmpName = lblEmpName.Text;
        string strLAEmpOffMailID = Session["offId"].ToString();
        string strLALeaveType = ddlLeaveType.SelectedItem.Text;
        string strLALeaveFromDate = txtFromDate.Text;
        string strLALeaveHalfDayFrom;
        string strMP = txtmisspunchfrom.Text;
        string submit_cc = null;
        string submitTo = null;
        string CCmailid = string.Empty;
        ///////////Code To Restrict Duplicate Entry/////////////////
        if (ddlLeaveType.SelectedItem.Text == "Casual Leave" || ddlLeaveType.SelectedItem.Text == "Earned Leave" || ddlLeaveType.SelectedItem.Text == "Sick Leave" || ddlLeaveType.SelectedItem.Text == "Comp Off" || ddlLeaveType.SelectedItem.Text == "Comp Off"
            || ddlLeaveType.SelectedItem.Text == "Wedding Leave" || ddlLeaveType.SelectedItem.Text == "Maternity Leave" || ddlLeaveType.SelectedItem.Text == "Bereavement Leave" || ddlLeaveType.SelectedItem.Text == "Paternity Leave" || ddlLeaveType.SelectedItem.Text == "Floating Leave")
        {
            string chkalreadyapplied = "( Select DISTINCT LeaveFromDate,LeaveToDate, EmpID ,LeaveType,LeaveStatus from IntranetRelease.dbo.LeaveApplication Where  LeaveFromDate >= '" + strLALeaveFromDate + "'   and LeaveToDate  <= '" + strLALeaveFromDate + "'  and EmpID  = 'SS525' )";
            ////  MessageBox.Show(strLAEmpid + strLAEmpName + strLAEmpOffMailID + strLALeaveType + strLALeaveFromDate + strLALeaveHalfDayFrom + strLALeaveToDate + strLALeaveHalfDayTo + douLANoOfDays + strLAReason + strLALeaveStatus + strLALeaveAppliedOn + strLeaveAppliedTo);
            scon = new SqlConnection(conString);
            scmd = new SqlCommand(chkalreadyapplied, scon);
            scon.Open();
            scmd.ExecuteNonQuery();
            scon.Close();
if (ddlLeaveType.SelectedItem.Text == "Permission")
            {
                string permissionapply = "Insert into [Emp_Permission] ([Empid],[Empname],[Date of Permission],[Reason],[Fromtime],[Totime],[TimeDuration],[PerAppliedOn],[PerAppliedTo]) values ('" + strLAEmpid + "','" + strLAEmpName + "','" + strLALeaveFromDate + "','" + strLAReason + "','" + ViewState["Pertimefrom"] + "','" + ViewState["Pertotime"] + "','" + ViewState["tmper"] + "','" + strLALeaveAppliedOn + "', '" + strLeaveAppliedTo + "' )";
                SqlConnection percon = new SqlConnection(conString);
                SqlCommand percmd = new SqlCommand(permissionapply, percon);
                percon.Open();
                percmd.ExecuteNonQuery();
                percon.Close();
            }
            if (ddlLeaveType.SelectedItem.Text == "Miss Punch")        
            {
                string misspunchapply = "Insert into IntranetReleaseNew.dbo.Emp_MissPunch ([Empid],[Empname],[DateofMissPunch],[Reason],[TimeDurInHours],[MisspunchAppliedOn],[MisspunchAppliedTo]) values ('" + strLAEmpid + "','" + strLAEmpName + "','" + strLALeaveFromDate + "','" + strLAReason + "','" + strMP + "','" + strLALeaveAppliedOn + "', '" + strLeaveAppliedTo + "' )";
                SqlConnection misspuncon = new SqlConnection(conString);
                SqlCommand misspunchcmd = new SqlCommand(misspunchapply, misspuncon);
                misspuncon.Open();
                misspunchcmd.ExecuteNonQuery();
                misspuncon.Close();
            }

            if (ddlLeaveType.SelectedItem.Text == "Work from Home")
            {
                string WFHapply = "Insert into [WorkFromHome] ([Empid],[Empname],[Date of WFH],[Reason],[Fromtime],[Totime],[TimeDuration],[WFHAppliedOn],[WFHAppliedTo]) values ('" + strLAEmpid + "','" + strLAEmpName + "','" + strLALeaveFromDate + "','" + strLAReason + "','" + ViewState["Pertimefrom"] + "','" + ViewState["Pertotime"] + "','" + ViewState["tmper"] + "','" + strLA

Karthik_Mahalingam

Ват это

Member 12605293

Кнопку "Применить" Кодекс Братана

Karthik_Mahalingam

очень трудно декодировать, пожалуйста, разместите только соответствующую часть кода.

Member 12605293

string strLALeaveFromDate = txtFromDate.Text;
         string strLALeaveToDate = txtToDate.Text;
        string strLALeaveHalfDayFrom;
        string strMP = txtmisspunchfrom.Text;
        string submit_cc = null;
        string submitTo = null;
        string CCmailid = string.Empty;
        ///////////Code To Restrict Duplicate Entry/////////////////
        if (ddlLeaveType.SelectedItem.Text == "Casual Leave" || ddlLeaveType.SelectedItem.Text == "Earned Leave" || ddlLeaveType.SelectedItem.Text == "Sick Leave" || ddlLeaveType.SelectedItem.Text == "Comp Off" || ddlLeaveType.SelectedItem.Text == "Comp Off"
            || ddlLeaveType.SelectedItem.Text == "Wedding Leave" || ddlLeaveType.SelectedItem.Text == "Maternity Leave" || ddlLeaveType.SelectedItem.Text == "Bereavement Leave" || ddlLeaveType.SelectedItem.Text == "Paternity Leave" || ddlLeaveType.SelectedItem.Text == "Floating Leave")
        {
            string chkalreadyapplied = "( Select  LeaveFromDate,LeaveToDate, EmpID ,LeaveType,LeaveStatus from IntranetRelease.dbo.LeaveApplication Where  LeaveFromDate >= '" + strLALeaveFromDate + "'   and LeaveToDate  <= '" + strLALeaveToDate + "'  and EmpID  = 'SS525' )";
            ////  MessageBox.Show(strLAEmpid + strLAEmpName + strLAEmpOffMailID + strLALeaveType + strLALeaveFromDate + strLALeaveHalfDayFrom + strLALeaveToDate + strLALeaveHalfDayTo + douLANoOfDays + strLAReason + strLALeaveStatus + strLALeaveAppliedOn + strLeaveAppliedTo);
            scon = new SqlConnection(conString);
            scmd = new SqlCommand(chkalreadyapplied, scon);
            scon.Open();
            scmd.ExecuteNonQuery();
            scon.Close();

            if (txtFromDate.Text != strLALeaveFromDate)
            {
 }
        }
        else
        {
            MessageBox.Show("You Have Already Applied Leave on the Selected Date");
            btnApply.Visible = false;
        }

Karthik_Mahalingam

информация о состоянии различных

Member 12605293

Этот запрос даст значения, которые присутствуют

 Select DISTINCT LeaveFromDate,LeaveToDate, EmpID ,LeaveType,LeaveStatus from IntranetRelease.dbo.LeaveApplication Where  LeaveFromDate >='2017-06-30'  and LeaveToDate  <= '2017-06-30' 

Karthik_Mahalingam

поскольку LeaveStatus отличается, distinct не будет применяться

Member 12605293

Ладно, Картик.Но если у EmpId есть запись типа 2017-17-08' и какой-либо статус отпуска ,он ограничен в подаче заявления на ту же дату.

Karthik_Mahalingam

не знаю, как устроена ваша страница или как вы сделали код... трудно сказать ответ в качестве комментария.
опубликуйте как новый вопрос с подробной информацией, кто-то может ответить на него.

Member 12605293

Вообще говоря, у EmpId есть запись типа 2017-17-08' он ограничен, чтобы подать заявку на ту же дату снова, чтобы избежать дубликата записи

Karthik_Mahalingam

добавьте условие if, чтобы проверить, есть ли какая-либо запись для этого сотрудника, прежде чем добавлять новую запись.

Member 12605293

да сделано, и это работает, братан :)

Karthik_Mahalingam

Хорошо

Member 12605293

Привет Картик :)

Karthik_Mahalingam

привет

Member 12605293

Д датавремя = Датавремя.Сейчас;
д = д.AddMonths(-1);
Начать датавремя = Датавремя.Синтаксический анализ(ум.Месяц + "/23/" + Датавремя.Сейчас.Год.Метод toString());
DateTime End = DateTime.Синтаксический Анализ(Система.Датавремя.Сейчас.Месяц.ToString () + "/25/" + DateTime.Now.Year.Метод toString());

строки chkalreadyapplied = "(выбрать количество(*) как TotalPermisson от IntranetRelease.ДБО.LeaveApplication где LeaveType='разрешение' и LeaveStatus &ЛТ;&ГТ; " и LeaveFromDate &ГТ;='" + начало + " и LeaveToDate &ЛТ;='" + окончание + "' и empid='" + strLAEmpid + "')";
SqlConnection scon = новый SqlConnection(conString);
бра.Открыть();
SqlCommand percountcmd = new SqlCommand(chkalreadyapplied, scon);
TotalPermisson = (Int32)percountcmd.Executescalar так();
бра.Закрывать();


Как пройти дату начала и окончания подачи заявки на будущую дату

Member 12605293

Когда LeaveFromDate и LeaveToDate находятся в этом месяце, это хорошо работает..но не в будущих датах

Karthik_Mahalingam

подумайте, где все идет не так..

Karthik_Mahalingam

возьмите ручку и бумагу, нарисуйте блок-схему и посмотрите, это будет так просто.

Member 12605293

Я уже сделал это братан

Member 12605293

Вот ты и просишь помощи

Karthik_Mahalingam

видишь ли, я не буду все время помогать тебе.. тогда когда ты научишься

Member 12605293

ОК Картик

Karthik_Mahalingam

начать обучение