async void ClickCambiarEstado(object sender, EventArgs e) { try { frmPin pin = new frmPin(); this.Opacity = 0.80; pin.ShowDialog(); this.Close(); this.Opacity = 1; if (Program.Pin != null) { var Mensaje = MessageBox.Show("Esta Seguro desea Completar Orden", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (Mensaje == DialogResult.Yes) { Button btn = sender as Button; var id = int.Parse(btn.Text); var Orden = db.Ordenes.Find(id); Orden.Prendas.SelectMany(m => m.DetalleTareas).ToList().ForEach(w => { w.Estado = true; w.EmpleadoActualizo = Program.Pin; }); foreach (var item in listaTareas) { item.btnEstado.BackColor = Color.OliveDrab; } Orden.EstadoId = 1; Orden.EmpleadoActualizo = Program.Pin; Orden.EmpleadoCompleto = Program.Pin; db.SaveChanges(); var ordenView = listaOrdenes.Where(w => w.OrdenId == Orden.OrdenId).FirstOrDefault(); ordenView.btnEstado.BackColor = Color.OliveDrab; var TempleisEmpresa = db.ConfiguracionEnvios.ToList(); var Detalle = db.Templeis.FirstOrDefault().TempleiSMS; Detalle = Detalle.Replace("{FirstName}", Orden.Cliente.Nombre + "%0A") .Replace("{OrderId(s)}", Orden.OrdenId.ToString() + "%0A") .Replace("{BusinessName}", TempleisEmpresa.FirstOrDefault().NombreEmpresa); System.Diagnostics.Process.Start("https://web.whatsapp.com/send?phone=506" + Orden.Cliente.TelefonoPrincipal + "&text=" + Detalle); var Email = db.Templeis.FirstOrDefault().TempleiEmail; var Subjet = "Su Orden Esta Lista Para Ser Retirada"; Email = Email.Replace("{ClientName}", Orden.Cliente.Nombre) .Replace("{OrderId(s)}", Orden.OrdenId.ToString()) .Replace("{BusinessName}", TempleisEmpresa.FirstOrDefault().NombreEmpresa) .Replace("{AddressLine1}", TempleisEmpresa.FirstOrDefault().DirrecionLinea1) .Replace("{AddressLine2}", TempleisEmpresa.FirstOrDefault().DirrecionLinea2) .Replace("P: {BusinessPhone}", TempleisEmpresa.FirstOrDefault().Telefono) .Replace("W: {BusinessWebsite}", TempleisEmpresa.FirstOrDefault().PaginaWeb) .Replace("E: {BusinessEmail}", TempleisEmpresa.FirstOrDefault().CorreoEmpresa); await EnvioCorreos.SendMail(Orden.Cliente.Email, Subjet, Email); } } } catch (Exception) { } }
private async void btnEnviar_Click(object sender, EventArgs e) { try { this.Close(); frmPin pin = new frmPin(); this.Opacity = 0.80; pin.ShowDialog(); this.Opacity = 1; Ordenes orden = db.Ordenes.Find(OrdenId); orden.NumeroOrden = orden.OrdenId.ToString(); orden.HoraSalida = this.cmbHora.SelectedItem.ToString() + ":" + this.cmbMinutos.SelectedItem.ToString(); var a = int.Parse(orden.TotalOrden.ToString()); var b = int.Parse(txtpago.Text); var c = a - b; orden.CantidadRestante = c; orden.EmpleadoRealizo = Program.Pin; orden.CantidadPagada = double.Parse(txtpago.Text); orden.FechaSalida = txtFecha.Text; orden.ClienteId = ClienteId; if (Program.Editar == 1) { orden.EmpleadoActualizo = Program.Pin; } db.Entry(orden).State = EntityState.Modified; db.SaveChanges(); if (ckbNopagar.Checked == false && Program.Editar == 1) { var query = db.Pagos.Where(q => q.OrdenId == OrdenId).ToList(); if (query.Count > 0) { var idPAgo = query.FirstOrDefault().PagoId; Pagos pago = db.Pagos.Find(idPAgo); pago.Fecha = DateTime.Today; pago.EmpleadoRealizo = Program.Pin; pago.Monto = double.Parse(txtpago.Text); pago.MedioPagoId = int.Parse(cmbTipoPago.SelectedValue.ToString()); pago.OrdenId = orden.OrdenId; db.Entry(pago).State = EntityState.Modified; db.SaveChanges(); var TotalOrden = db.OrdenDetallePrendas.Where(w => w.OrdenId == orden.OrdenId).SelectMany(q => q.DetalleTareas).ToList().Sum(q => q.Subtotal); var TotalPagos = db.Pagos.Where(w => w.OrdenId == orden.OrdenId).Sum(q => q.Monto); if (TotalOrden == TotalPagos) { orden.EstadoId = 5; } else { orden.EstadoId = 6; } } } else if (ckbNopagar.Checked == false) { Pagos pago = new Pagos(); pago.Fecha = DateTime.Today; pago.EmpleadoRealizo = Program.Pin; pago.Monto = double.Parse(txtpago.Text); pago.MedioPagoId = int.Parse(cmbTipoPago.SelectedValue.ToString()); pago.OrdenId = orden.OrdenId; db.Pagos.Add(pago); db.SaveChanges(); var TotalOrden = db.OrdenDetallePrendas.Where(w => w.OrdenId == orden.OrdenId).SelectMany(q => q.DetalleTareas).ToList().Sum(q => q.Subtotal); var TotalPagos = db.Pagos.Where(w => w.OrdenId == orden.OrdenId).Sum(q => q.Monto); if (TotalOrden == TotalPagos) { orden.EstadoId = 5; } else { orden.EstadoId = 6; } } Cliente cliente = db.Clientes.Find(ClienteId); if (string.IsNullOrEmpty(cliente.Visitas)) { cliente.Visitas = "1"; cliente.Visitas = cliente.Visitas; } else { var Visita = int.Parse(cliente.Visitas); Visita += 1; cliente.Visitas = Visita.ToString(); } db.Entry(cliente).State = EntityState.Modified; db.SaveChanges(); this.Close(); Program.Editar = 0; var TempleisEmpresa = db.ConfiguracionEnvios.ToList(); var Email = db.Templeis.FirstOrDefault().DirrecTempleiFactura; var Subjet = db.Templeis.FirstOrDefault().SubTempleiFactura; Email = Email.Replace("{BusinessName}", TempleisEmpresa.FirstOrDefault().NombreEmpresa) .Replace("{AddressLine1}", TempleisEmpresa.FirstOrDefault().DirrecionLinea1) .Replace("{AddressLine2}", TempleisEmpresa.FirstOrDefault().DirrecionLinea2) .Replace("{BusinessPhone}", TempleisEmpresa.FirstOrDefault().Telefono) .Replace("{BusinessWebsite}", TempleisEmpresa.FirstOrDefault().PaginaWeb) .Replace("{BusinessEmail}", TempleisEmpresa.FirstOrDefault().CorreoEmpresa) .Replace("{FirstName}", orden.Cliente.Nombre) .Replace("{OrderId(s)}", orden.OrdenId.ToString()) .Replace("{TotalPrice}", orden.TotalOrden.ToString()) .Replace("{AmountPaid}", orden.CantidadPagada.ToString()) .Replace("{AmountLeft}", orden.CantidadRestante.ToString()); var DetallePrenda = "<table style='width:100%'><tbody>"; foreach (var item in orden.Prendas) { foreach (var itemT in item.DetalleTareas) { DetallePrenda += "<tr><td colspan=3>" + item.Prenda.TipoRopa + "X" + item.Cantidad + "</tr></td>"; DetallePrenda += "<tr><td>" + itemT.Detalle.Tarea.NombreTareas + "</td>" + "<td>" + itemT.Detalle.DetalleTareas + "</td>" + "<td>" + itemT.Subtotal + "</td></tr>"; } } DetallePrenda += "</tbody></table>"; Email = Email.Replace("{OrderDetails}", DetallePrenda); await EnvioCorreos.SendMail(txtEmail.Text, Subjet, Email); FrmFactura frm = new FrmFactura(OrdenId); frm.ShowDialog(); } catch (Exception) { } }