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 void SendEmail(int pk_id_plan_capacitacion, string[] asignaciones, string NitEmpresa) { var parametros = db.Tbl_ParametrosSistema.ToList(); var rutaHttpSitio = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.RutaHttpSitio).Select(p => p).FirstOrDefault().Valor; var servidorSTMP = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.ServidorStmp).Select(p => p).FirstOrDefault().Valor; var remitente = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.RemitenteNotificaion).Select(p => p).FirstOrDefault().Valor; var correoRemitente = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.CorreoRemitente).Select(p => p).FirstOrDefault().Valor; var puertoServidorStmp = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.PuertoServidorStmp).Select(p => p).FirstOrDefault().Valor; var usuarioServidorStmp = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.UsuarioServidorStmp).Select(p => p).FirstOrDefault().Valor; var passwordServidorStmp = parametros.Where(p => p.IdParametro == (int)Enumeraciones.EnumAdministracionUsuarios.ParametrosSistema.PasswordServidorStmp).Select(p => p).FirstOrDefault().Valor; var plantilla = db.Tbl_PlantillasCorreosSistema.Where(x => x.IdPlantilla == 5).SingleOrDefault(); var cliente = new RestSharp.RestClient(ConfigurationManager.AppSettings["Url"]); var request = new RestRequest(ConfigurationManager.AppSettings["consultaAfiliados"], RestSharp.Method.GET); request.RequestFormat = DataFormat.Xml; request.Parameters.Clear(); request.AddParameter("tpEm", "NI"); request.AddParameter("docEm", NitEmpresa); request.AddHeader("Content-Type", "application/json"); request.AddHeader("Accept", "application/json"); //se omite la validación de certificado de SSL ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; IRestResponse <List <EmpleadosWSDTO> > response = cliente.Execute <List <EmpleadosWSDTO> >(request); var result = response.Content; var respuesta = Newtonsoft.Json.JsonConvert.DeserializeObject <List <EmpleadosWSDTO> >(result); for (int i = 0; i < asignaciones.Length; i++) { string[] paramst = asignaciones[i].Split(','); if (paramst.Length == 2) { int cedula = 0; string documento = string.Empty; cedula = Convert.ToInt32(paramst[0]); documento = cedula.ToString(); var cargotemp = respuesta.Where(x => x.idPersona == documento).SingleOrDefault(); var plantillaHtml = plantilla.Plantilla.Replace("[[RutaHttpSitio]]", rutaHttpSitio); plantillaHtml = plantillaHtml.Replace("[[NombreUsuario]]", string.Format("{0} {1}", cargotemp.nombre1 + ' ' + cargotemp.nombre2, cargotemp.apellido1 + ' ' + cargotemp.apellido2)); plantillaHtml = plantillaHtml.Replace("[[EmailUsuario]]", cargotemp.emailPersona); plantillaHtml = plantillaHtml.Replace("[[RazonSocial]]", ObtenerRazonSocial(NitEmpresa)); plantillaHtml = plantillaHtml.Replace("[[Asunto]]", "Invitación Plan de Capacitación"); plantillaHtml = plantillaHtml.Replace("[[Cuerpo]]", "Se invita a los usuarios al plan de capacitación."); var enviado = EnvioCorreos.EnviarCorreo(plantillaHtml, correoRemitente, remitente, true, passwordServidorStmp, Convert.ToInt32(puertoServidorStmp), servidorSTMP, "[ALISSTA Plan Capacitación] " + "Invitación Plan de Capacitación", cargotemp.emailPersona); } } }
private void EmailParametersSending(int?PK_Id_Comunicado, string nombre, string apellido, string email, string NitEmpresa, string Asunto, string CuerpoMensaje, string Titulo, string correoRemitente, string remitente, string passwordServidorStmp, string puertoServidorStmp, string servidorSTMP, string plantillaHtml) { plantillaHtml = plantillaHtml.Replace("[[NombreUsuario]]", string.Format("{0} {1}", nombre, apellido)); plantillaHtml = plantillaHtml.Replace("[[EmailUsuario]]", email); plantillaHtml = plantillaHtml.Replace("[[RazonSocial]]", ObtenerRazonSocial(NitEmpresa)); plantillaHtml = plantillaHtml.Replace("[[Asunto]]", Asunto); plantillaHtml = plantillaHtml.Replace("[[Cuerpo]]", CuerpoMensaje); bool param_correo = EnvioCorreos.EnviarCorreo(plantillaHtml, correoRemitente, remitente, true, passwordServidorStmp, Convert.ToInt32(puertoServidorStmp), servidorSTMP, "[ALISSTA Comunicaciones] " + Titulo, email); using (var Transaction = db.Database.BeginTransaction()) { ComunicacionesLog log = new ComunicacionesLog() { fk_id_comunicaciones = (int)PK_Id_Comunicado, modulo = "externos", enviado_rechazado = param_correo, fecha_envio = DateTime.Now.ToString() }; db.Tbl_ComunicacionesLog.Add(log); db.SaveChanges(); Transaction.Commit(); } }
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) { } }