Example #1
0
        async public void btnConfirm_Click(object sender, EventArgs e)
        {
            //			for (int i = 0; i < modelSelectedDates.Count; i++) {
            //				await DisplayAlert ("la",modelSelectedDates[i].leavedate.ToString()+" Accepted with "+modelSelectedDates[i].isWithPay.ToString(),"k");
            //			}
            //			for (int i = 0; i < modelDeselectedDates.Count; i++) {
            //				await DisplayAlert ("la",modelDeselectedDates[i].leavedate.ToString()+" Rejected with "+modelDeselectedDates[i].isWithPay.ToString(),"k");
            //			}
            var Answer = await DisplayAlert(" nWorksLeaveApp", "Are you sure to confirm leaves?", "Yes", "No");

            if (Answer == true)
            {
                btnConfirm.IsEnabled          = false;
                MyActivityIndicator.IsVisible = true;
                MyActivityIndicator.IsRunning = true;

                model_ConfirmLeaves confirmLeaves = new model_ConfirmLeaves();  //Get Main object
                confirmLeaves.userId = UserId;                                  //Set userid property

                Debug.WriteLine(modelSelectedDates.Count.ToString());
                List <model_Dates> List_Leaves = new List <model_Dates>();
                for (int i = 0; i < modelSelectedDates.Count; i++)
                {
                    model_Dates leaves = new model_Dates();
                    leaves.requestedAs  = modelSelectedDates[i].requestedAs;
                    leaves.selectedDate = modelSelectedDates[i].leavedate;
                    leaves.isWithPay    = modelSelectedDates[i].isWithPay;
                    List_Leaves.Add(leaves);
                }                                                               //set selected dates
                confirmLeaves.Dates = List_Leaves;

                List <model_DeselectedDates> List_DeselectedLeaves = new List <model_DeselectedDates>();
                for (int i = 0; i < modelDeselectedDates.Count; i++)
                {
                    model_DeselectedDates DeselectedLeaves = new model_DeselectedDates();
                    DeselectedLeaves.requestedAs  = modelDeselectedDates[i].requestedAs;
                    DeselectedLeaves.selectedDate = modelDeselectedDates[i].leavedate;
                    List_DeselectedLeaves.Add(DeselectedLeaves);
                }
                confirmLeaves.deselectedDates = List_DeselectedLeaves;


                try
                {
                    var                 json     = JsonConvert.SerializeObject(confirmLeaves);
                    var                 content  = new StringContent(json, Encoding.UTF8, "application/json");
                    HttpClient          Client   = new HttpClient();
                    HttpResponseMessage response = null;
                    response = await Client.PostAsync(ColorResources.baseUrl + "ConfirmLeaves", content);

                    if (response.IsSuccessStatusCode)
                    {
                        var content1 = await response.Content.ReadAsStringAsync();

                        ColorResources.isLeaveConfirm = true;
                        await DisplayAlert("Message", content1.ToString(), "OK");

                        await this.Navigation.PopAsync();
                    }
                }
                catch (Exception ex)
                {
                    await DisplayAlert(" nWorksLeaveApp", "Unable to connect server, Try again!", "OK");

                    Debug.WriteLine(ex.ToString());
                }
                btnConfirm.IsEnabled          = true;
                MyActivityIndicator.IsVisible = true;
                MyActivityIndicator.IsRunning = true;
            }
        }
        public string LeaveConfirmation(model_ConfirmLeaves data)
        {
            model_ConfirmLeaves obj = new model_ConfirmLeaves();

            obj.userId = data.userId;
            List <model_Dates> objDates = new List <model_Dates>();

            objDates = data.Dates;
            List <model_DeselectedDates> objDeselectedDates = new List <model_DeselectedDates>();

            objDeselectedDates = data.deselectedDates;

            try
            {
                string q1 = "", uid = "";

                uid = obj.userId;

                //get email and fullname address of user
                string          userEmail = "", userFullname = "";
                string          query = "select email,fname,lname from nworksuser where uid='" + uid + "';";
                MySqlCommand    cmd   = new MySqlCommand(query, conn);
                MySqlDataReader rdr;
                conn.Open();
                rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    userEmail    = rdr.GetString("email");
                    userFullname = rdr.GetString("fname") + " " + rdr.GetString("lname");
                }
                conn.Close();
                //


                //send email of action
                NetworkCredential login;
                SmtpClient        client;
                MailMessage       msg;
                login              = new NetworkCredential("*****@*****.**", "password");
                client             = new SmtpClient("smtp.1and1.com");
                client.Port        = Convert.ToInt32(25);
                client.EnableSsl   = true;
                client.Credentials = login;

                string PrawalGupta = "*****@*****.**";
                msg = new MailMessage {
                    From = new MailAddress("*****@*****.**", "nWorks Employee", Encoding.UTF8)
                };
                msg.To.Add(new MailAddress(userEmail));                                 //Email to
                msg.Subject = "Leave/Holiday request by " + uid + " : " + userFullname; //Subject
                msg.CC.Add(new MailAddress(PrawalGupta));                               //Email to CC
                string strBody = string.Empty;

                if (objDates.Count == 0)
                {
                    strBody += "<html><head></head><body><h2>Dear <p><b> " + uid + " " + userFullname + ",</b></h2> " + " Your no one leaves/holidays are accepted.\n</p>";
                    strBody += Environment.NewLine;
                    strBody += "<br/>Thanks.";

                    clearTemporaryDates(uid);
                }
                else
                {
                    //Fixed the leaves
                    for (int i = 0; i < objDates.Count; i++)
                    {
                        q1 = "insert into leaves values('" + uid + "','" + objDates[i].selectedDate.ToString() + "','" + objDates[i].requestedAs.ToString() + "','" + objDates[i].isWithPay.ToString() + "');";
                        MySqlCommand command = new MySqlCommand(q1, conn);
                        conn.Open();
                        MySqlDataReader reader = command.ExecuteReader();
                        conn.Close();
                    }

                    strBody += "<html><head></head><body><h2>Dear <p><b> " + uid + " " + userFullname + ",</b></h2> " + " Your accepted leaves/holidays are as follows :\n</p>";
                    strBody += Environment.NewLine;

                    int j = 1;

                    for (int k = 0; k < objDates.Count; k++)                  // here "lstDate" is name of your list where you store all date.
                    {
                        strBody += j + ". " + Convert.ToDateTime(objDates[k].selectedDate).ToString("dd-MMM-yyyy") + ", " + Convert.ToDateTime(objDates[k].selectedDate).DayOfWeek + "  : " + objDates[k].requestedAs + " WithPay?(" + objDates[k].isWithPay.ToString() + ") <br>";
                        j++;
                    }
                    if (objDeselectedDates.Count != 0)
                    {
                        strBody += "<br><br><p>Your rejected leaves/holidays are as follows :\n</p>";
                        int m = 1;

                        for (int n = 0; n < objDeselectedDates.Count; n++)                  // here "lstDate" is name of your list where you store all date.
                        {
                            strBody += m + ". " + Convert.ToDateTime(objDeselectedDates[n].selectedDate).ToString("dd-MMM-yyyy") + ", " + Convert.ToDateTime(objDeselectedDates[n].selectedDate).DayOfWeek + "  : " + objDeselectedDates[n].requestedAs + " <br>";
                            m++;
                        }
                    }
                    strBody += "<br/>Thanks.";

                    clearTemporaryDates(uid);
                }
                msg.Body = strBody;

                msg.BodyEncoding = Encoding.UTF8;
                msg.IsBodyHtml   = true;
                msg.Priority     = MailPriority.Normal;
                msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
                client.Send(msg);
                return(string.Format("Action Performed! Email Sent!"));
            }
            catch (Exception ex)
            {
                return(string.Format("Action Performed! Email sending failed!"));
            }
        }