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);
                }
            }
        }
Exemple #3
0
        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();
            }
        }
Exemple #4
0
        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)
            {
            }
        }