Пример #1
0
        public ActionResult Create([Bind(Include = "ID,HOST,PORT,SSL,MAIL,PASS")] Conmail conmail)
        {
            CONMAIL u = new CONMAIL();

            u.ID     = conmail.ID;
            u.HOST   = conmail.HOST;
            u.PORT   = conmail.PORT;
            u.SSL    = conmail.SSL;
            u.MAIL   = conmail.MAIL;
            u.PASS   = conmail.PASS;
            u.ACTIVO = true;



            db.CONMAILs.Add(u);

            try
            {
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            catch {
                ViewBag.Error = "El usuario ya existe. Introduzca un ID de usuario diferente";
                int pagina = 933; //ID EN BASE DE DATOS
                FnCommon.ObtenerConfPage(db, pagina, User.Identity.Name, this.ControllerContext.Controller);
                Conmail cONMAIL = new Conmail();
                return(View(cONMAIL));
            }
        }
Пример #2
0
        public ActionResult Edit([Bind(Include = "ID,HOST,PORT,SSL,MAIL,PASS,ACTIVO")] CONMAIL cONMAIL)
        {
            if (Request.Form["ckb_ssl"] == "on")
            {
                cONMAIL.SSL = true;
            }
            else
            {
                cONMAIL.SSL = false;
            }

            if (Request.Form["ckb_activo"] == "on")
            {
                cONMAIL.ACTIVO = true;
            }
            else
            {
                cONMAIL.ACTIVO = false;
            }



            cONMAIL.ID   = cONMAIL.ID;
            cONMAIL.HOST = cONMAIL.HOST;
            cONMAIL.PORT = cONMAIL.PORT;
            cONMAIL.MAIL = cONMAIL.MAIL;
            cONMAIL.PASS = cONMAIL.PASS;

            db.Entry(cONMAIL).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #3
0
        public ActionResult Edit(string ID)
        {
            int pagina = 924; //ID EN BASE DE DATOS

            FnCommon.ObtenerConfPage(db, pagina, User.Identity.Name, this.ControllerContext.Controller);
            CONMAIL cONMAIL = db.CONMAILs.Find(ID);

            return(View(cONMAIL));
        }
Пример #4
0
        public void enviaMailUsuario(string emailsto, int pass, string nombre, string paterno, string materno, string id)  //MGC 09-10-2018 Envío de correos
        {
            string mailt  = ConfigurationManager.AppSettings["mailt"];
            string mtest  = ConfigurationManager.AppSettings["mailtest"]; //B20180803 MGC Correos
            string mailTo = "";

            if (mtest == "X")
            {
                mailTo = "*****@*****.**";// mailt; //B20180803 MGC Correos  //MGC 08-10-2018.2 Obtener los datos para el correo
            }
            else
            {
                //mailTo = workflow.USUARIO.EMAIL;//MGC 09-10-2018 Envío de correos
                mailTo = emailsto;//MGC 09-10-2018 Envío de correos
            }
            CONMAIL conmail = db.CONMAILs.Find(mailt);

            if (conmail != null)
            {
                System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo);
                SmtpClient client = new SmtpClient();
                if (conmail.SSL)
                {
                    client.Port                  = (int)conmail.PORT;
                    client.EnableSsl             = conmail.SSL;
                    client.UseDefaultCredentials = false;
                    client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                }
                else
                {
                    client.UseDefaultCredentials = true;
                    client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                }
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Host           = conmail.HOST;


                mail.Subject    = "Usuario Creado Portal Artha Capital";
                mail.IsBodyHtml = true;


                //string cuerpo = string.Format("Estimado: {1} {2} {3}: {0}Las credenciales para utilizar el portal son las siguientes:{0}Usuario: {4}{0}Contraseña: {5}", Environment.NewLine, nombre,paterno, materno,id,pass);
                string cuerpo = "Estimado: " + nombre + " " + paterno + " " + materno + " \r\n Las credenciales para utilizar el portal son las siguientes:\r\nUsuario: " + id + "\r\nContraseña:" + pass + "";



                //mail.Body = result;//B20180803 MGC Correos

                var image = System.Web.HttpContext.Current.Server.MapPath("~/images/artha_logo.jpg");

                mail.AlternateViews.Add(Mail_Body_Usuario(image, cuerpo)); //B20180803 MGC Correos
                mail.IsBodyHtml = true;                                    //B20180803 MGC Correos

                client.Send(mail);
            }
        }
Пример #5
0
        public ActionResult Delete(string ID)
        {
            CONMAIL cONMAIL = db.CONMAILs.Find(ID);

            cONMAIL.ID              = cONMAIL.ID;
            cONMAIL.HOST            = cONMAIL.HOST;
            cONMAIL.PORT            = cONMAIL.PORT;
            cONMAIL.SSL             = cONMAIL.SSL;
            cONMAIL.MAIL            = cONMAIL.MAIL;
            cONMAIL.PASS            = cONMAIL.PASS;
            cONMAIL.ACTIVO          = false;
            db.Entry(cONMAIL).State = EntityState.Modified;
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #6
0
        public void enviarErrores(List <string> mensajes)
        {
            TAT001Entities db    = new TAT001Entities();
            APPSETTING     mailC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail") & x.ACTIVO).FirstOrDefault();

            if (mailC == null)
            {
                Console.Write("Falta configuración!");
            }                              //RSG 30.07.2018

            string  mailt   = mailC.VALUE; //RSG 30.07.2018
            CONMAIL conmail = db.CONMAILs.Find(mailt);

            if (conmail != null)
            {
                APPSETTING  mailAC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailAdmin") & x.ACTIVO).FirstOrDefault();
                MailMessage mail   = new MailMessage(conmail.MAIL, mailAC.VALUE);
                SmtpClient  client = new SmtpClient();
                if (conmail.SSL)
                {
                    client.Port                  = (int)conmail.PORT;
                    client.EnableSsl             = conmail.SSL;
                    client.UseDefaultCredentials = false;
                    client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                }
                else
                {
                    client.UseDefaultCredentials = true;
                    client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                }
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Host           = conmail.HOST;
                try
                {
                    mail.IsBodyHtml = true;
                    foreach (string mensaje in mensajes)
                    {
                        mail.Body += "<br><span>" + mensaje + "</span>";
                    }
                    mail.Subject = "Error programa Negociaciones- " + DateTime.Now.ToString();
                    client.Send(mail);
                }
                catch (Exception ex)
                {
                    throw new Exception("No se ha podido enviar el email", ex.InnerException);
                }
            }
        }
Пример #7
0
        public void correos2()
        {
            ImapClient ic = new ImapClient();
            List <AE.Net.Mail.MailMessage> mx;
            List <AE.Net.Mail.MailMessage> emRq17;
            APPSETTING lg = db.APPSETTINGs.Where(x => x.NOMBRE == "logPath" && x.ACTIVO).FirstOrDefault();

            log.ruta = lg.VALUE + "LeerCorreos_";
            log.escribeLog("-----------------------------------------------------------------------START");
            try
            {
                List <CONMAIL> cc      = db.CONMAILs.ToList();
                CONMAIL        conmail = cc.FirstOrDefault(x => x.ID == "LE");
                if (conmail == null)
                {
                    log.escribeLog("Falta configurar inbox."); return;
                }
                ic = new ImapClient(conmail.HOST, conmail.MAIL, conmail.PASS,
                                    AuthMethods.Login, (int)conmail.PORT, conmail.SSL);

                // Select a mailbox. Case-insensitive
                ic.SelectMailbox("INBOX");

                //Esto traera los emails recibidos y no leidos
                //mx = ic.GetMessages(0, ic.GetMessageCount() - 1, true, false)
                long a = ic.GetMessageCount();
                if (a > 100)
                {
                    mx = ic.GetMessages(ic.GetMessageCount() - 100, ic.GetMessageCount() - 1, true, false)
                         .Where(m => !m.Flags.HasFlag(Flags.Seen) && !m.Flags.HasFlag(Flags.Deleted)).ToList();
                }
                else
                {
                    mx = ic.GetMessages(0, ic.GetMessageCount() - 1, true, false)
                         .Where(m => !m.Flags.HasFlag(Flags.Seen) && !m.Flags.HasFlag(Flags.Deleted)).ToList();
                }

                //En esta lista ingresaremos a los mails que sean recibidos como cc
                emRq17 = new List <AE.Net.Mail.MailMessage>();
                log.escribeLog("Leer inbox - numReg=(" + mx.Count + ")");
            }
            catch (Exception e)
            {
                mx     = new List <AE.Net.Mail.MailMessage>();
                emRq17 = new List <AE.Net.Mail.MailMessage>();
                log.escribeLog("Error al leer" + e.Message.ToString());
            }
            try
            {
                //ingresamos los correos CORREO
                for (int i = 0; i < mx.Count; i++)
                {
                    AE.Net.Mail.MailMessage mm = ic.GetMessage(mx[i].Uid, false);
                    try
                    {
                        string[] arrAsunto = mm.Subject.Split(']');
                        int      a         = arrAsunto.Length - 1;
                        //Recupero el asunto y lo separo del numdoc y pos
                        string[] arrAprNum = arrAsunto[a].Split('-');//RSG cambiar 0 a 1
                        string[] arrClaves = arrAprNum[1].Split('.');
                        //Valido que tenga los datos necesarios para el req 17
                        if (arrClaves.Length > 1)
                        {
                            arrClaves[1] = Decimal.Parse(arrClaves[1]).ToString();
                        }
                        ////var xy = arrAprNum[0].Trim();
                        if (arrAprNum[0].Trim() == "De Acuerdo" || arrAprNum[0].Trim() == "DeAcuerdo")
                        {
                            emRq17.Add(mm);
                            log.escribeLog("NEGO A - " + arrClaves[1]);
                        }
                        else if (arrAprNum[0].Trim() == "Tengo Observaciones" || arrAprNum[0].Trim() == "TengoObservaciones")
                        {
                            emRq17.Add(mm);
                            log.escribeLog("NEGO O - " + arrClaves[1]);
                        }
                    }
                    catch
                    {
                        ic.AddFlags(Flags.Seen, mm);
                        log.escribeLog("ERROR - " + mm.Subject);
                    }
                }
                //Correos de FLUJO DE APROBACIÓN y RECURRENTE-----------------------------------------------------2 y 3
                if (true)
                {
                    for (int i = 0; i < mx.Count; i++)
                    {
                        AE.Net.Mail.MailMessage mm = ic.GetMessage(mx[i].Uid, false);
                        try
                        {
                            string[] arrAsunto = mm.Subject.Split(']');
                            int      a         = arrAsunto.Length - 1;
                            //Recupero el asunto y lo separo del numdoc y pos
                            string[] arrAprNum = arrAsunto[a].Split('-');//RSG cambiar 0 a 1
                            string[] arrClaves = arrAprNum[1].Split('.');
                            decimal  numdoc    = Decimal.Parse(arrClaves[0]);
                            //Si el Texto es Aprobado, Rechazado o Recurrente
                            string[] arrApr = arrAprNum[0].Split(':');
                            if (arrApr.Length > 1)
                            {
                                ProcesaFlujo pF = new ProcesaFlujo();
                                if (arrApr[1] == "Approved" || arrApr[1] == "Rejected")
                                {
                                    log.escribeLog("APPR AR - " + arrClaves[0]);
                                    int   pos = Convert.ToInt32(arrAprNum[2]);
                                    FLUJO fl  = db.FLUJOes.Where(x => x.NUM_DOC == numdoc && x.POS == pos).FirstOrDefault();
                                    if (fl != null)
                                    {
                                        Console.WriteLine(mm.From.Address.Trim()); Console.WriteLine(fl.USUARIO.EMAIL);
                                        log.escribeLog("APPR mails - " + mm.From.Address.Trim() + " == " + fl.USUARIO.EMAIL);
                                        if (mm.From.Address.Trim().ToLower() == fl.USUARIO.EMAIL.Trim().ToLower() || mm.From.Address.Trim().ToLower() == fl.USUARIO1.EMAIL.Trim().ToLower())
                                        {
                                            Console.WriteLine("true");
                                            fl.ESTATUS = arrApr[1].Substring(0, 1);
                                            fl.FECHAM  = DateTime.Now;
                                            Comentario com = new Comentario();
                                            fl.COMENTARIO = com.getComment(mm.Body, mm.ContentType);
                                            ////fl.COMENTARIO = mm.Body;
                                            ////if (fl.COMENTARIO.Length > 255)
                                            ////    fl.COMENTARIO = fl.COMENTARIO.Substring(0, 252) + "...";
                                            var res = pF.procesa(fl, "");
                                            log.escribeLog("APPR PROCESA - Res = " + res);
                                            Email email = new Email();
                                            if (res == "1")
                                            {
                                                email.enviarCorreo(fl.NUM_DOC, 1, pos);
                                            }
                                            else if (res == "3")
                                            {
                                                email.enviarCorreo(fl.NUM_DOC, 3, pos);
                                            }

                                            using (TAT001Entities db1 = new TAT001Entities())
                                            {
                                                FLUJO     ff   = db1.FLUJOes.Where(x => x.NUM_DOC == fl.NUM_DOC).OrderByDescending(x => x.POS).FirstOrDefault();
                                                Estatus   es   = new Estatus();//RSG 18.09.2018
                                                DOCUMENTO ddoc = db1.DOCUMENTOes.Find(fl.NUM_DOC);
                                                ff.STATUS           = es.getEstatus(ddoc);
                                                db1.Entry(ff).State = System.Data.Entity.EntityState.Modified;
                                                db1.SaveChanges();
                                            }
                                            Console.WriteLine(res);
                                        }
                                    }
                                    ic.AddFlags(Flags.Seen, mm);
                                }
                                ////else if (arrApr[1] == "Rejected")
                                ////{
                                ////    int pos = Convert.ToInt32(arrAprNum[2]);
                                ////    FLUJO fl = db.FLUJOes.Where(x => x.NUM_DOC == numdoc && x.POS == pos).FirstOrDefault();
                                ////    fl.ESTATUS = "R";
                                ////    fl.FECHAM = DateTime.Now;
                                ////    fl.COMENTARIO = mm.Body;
                                ////    var res = pF.procesa(fl, "");
                                ////    if (res == "0")
                                ////    {
                                ////        //
                                ////    }
                                ////    else if (res == "1")
                                ////    {
                                ////        enviarCorreo(fl.NUM_DOC, 1);
                                ////    }
                                ////    else if (res == "3")
                                ////    {
                                ////        enviarCorreo(fl.NUM_DOC, 3);
                                ////    }
                                ////    //para marcar el mensaje como leido
                                ////    ic.AddFlags(Flags.Seen, mm);
                                ////}
                                else if (arrApr[1] == "Recurrent")
                                {
                                    ////Reversa r = new Reversa();
                                    ////string ts = db.DOCUMENTOes.Find(numdoc).TSOL.TSOLR;
                                    ////int ret = 0;
                                    ////if (ts != null)
                                    ////    ret = r.creaReversa(numdoc.ToString(), ts);

                                    //////para marcar el mensaje como leido
                                    ////if (ret != 0)
                                    ////    ic.AddFlags(Flags.Seen, mm);
                                }
                            }
                        }
                        catch (Exception ee)
                        {
                            ic.AddFlags(Flags.Seen, mm);
                            log.escribeLog("ERROR - " + ee.Message.ToString());
                        }
                    }
                }
                //req17
                ////FLUJNEGO fn = new FLUJNEGO();
                for (int i = 0; i < emRq17.Count; i++)
                {
                    ////AE.Net.Mail.MailMessage mm = emRq17[i];
                    AE.Net.Mail.MailMessage mm = ic.GetMessage(emRq17[i].Uid, false);
                    if (true)
                    {
                        string[] arrAsunto = mm.Subject.Split(']');
                        int      isa       = arrAsunto.Length - 1;
                        //Recupero el asunto y lo separo del numdoc y pos
                        string[] arrAprNum = arrAsunto[isa].Split('-');
                        string[] arrPiNN   = arrAprNum[1].Split('.');
                        var      _id       = int.Parse(arrPiNN[1]);
                        var      vkorg     = arrPiNN[2];
                        var      _correo   = arrPiNN[4].Replace('*', '.').Replace('+', '-').Replace('/', '@').Replace('#', '-');
                        //recupero las fechas de envio
                        var _xres = db.NEGOCIACIONs.Where(x => x.ID == _id).FirstOrDefault();
                        var pid   = arrPiNN[0];
                        //// var fs = db.DOCUMENTOes.Where(f => f.PAYER_ID == pid && f.FECHAC.Value.Month == DateTime.Now.Month  && f.FECHAC.Value.Year == DateTime.Now.Year && f.DOCUMENTO_REF == null).ToList();
                        var _xff = _xres.FECHAF.AddDays(1);
                        var fs   = db.DOCUMENTOes.Where(f => f.PAYER_ID == pid && f.VKORG == vkorg && f.PAYER_EMAIL == _correo && f.FECHAC >= _xres.FECHAI && f.FECHAC < _xff && f.DOCUMENTO_REF == null).ToList();
                        //LEJ 20.07.2018-----
                        var dOCUMENTOes = fs;
                        var lstD        = new List <DOCUMENTO>();//---
                        ////DOCUMENTOA dz = null;//---
                        for (int y = 0; y < dOCUMENTOes.Count; y++)
                        {
                            PorEnviar pe = new PorEnviar();
                            if (pe.seEnvia(dOCUMENTOes[y], db, log))
                            {
                                lstD.Add(dOCUMENTOes[y]);
                            }

                            //////recupero el numdoc
                            ////var de = fs[i].NUM_DOC;
                            //////sino ecuentra una coincidencia con el criterio discriminatorio se agregan o no a la lista
                            ////dz = db.DOCUMENTOAs.Where(x => x.NUM_DOC == de && x.CLASE != "OTR").FirstOrDefault();
                            ////if (dz == null || dz != null)
                            ////{
                            ////    if (dOCUMENTOes[y].TSOL.NEGO == true)//para el ultimo filtro
                            ////    {

                            ////        string estatus = "";
                            ////        if (dOCUMENTOes[y].ESTATUS != null) { estatus += dOCUMENTOes[y].ESTATUS; } else { estatus += " "; }
                            ////        if (dOCUMENTOes[y].ESTATUS_C != null) { estatus += dOCUMENTOes[y].ESTATUS_C; } else { estatus += " "; }
                            ////        if (dOCUMENTOes[y].ESTATUS_SAP != null) { estatus += dOCUMENTOes[y].ESTATUS_SAP; } else { estatus += " "; }
                            ////        if (dOCUMENTOes[y].ESTATUS_WF != null) { estatus += dOCUMENTOes[y].ESTATUS_WF; } else { estatus += " "; }
                            ////        if (dOCUMENTOes[y].FLUJOes.Count > 0)
                            ////        {
                            ////            estatus += dOCUMENTOes[y].FLUJOes.OrderByDescending(a => a.POS).FirstOrDefault().WORKFP.ACCION.TIPO;
                            ////        }
                            ////        else
                            ////        {
                            ////            estatus += " ";
                            ////        }
                            ////        if (dOCUMENTOes[y].TSOL.PADRE) { estatus += "P"; } else { estatus += " "; }
                            ////        if (dOCUMENTOes[y].FLUJOes.Where(x => x.ESTATUS == "R").ToList().Count > 0)
                            ////        {
                            ////            estatus += dOCUMENTOes[y].FLUJOes.Where(x => x.ESTATUS == "R").OrderByDescending(a => a.POS).FirstOrDefault().USUARIO.PUESTO_ID;
                            ////        }
                            ////        else
                            ////        {
                            ////            estatus += " ";
                            ////        }


                            ////        if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "...[P][R].."))
                            ////            lstD.Add(dOCUMENTOes[y]);
                            ////        else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "...[R]..[8]"))
                            ////            lstD.Add(dOCUMENTOes[y]);
                            ////        else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "[P]..[A]..."))
                            ////            lstD.Add(dOCUMENTOes[y]);
                            ////        else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "..[P][A]..."))
                            ////            lstD.Add(dOCUMENTOes[y]);
                            ////        else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "..[E][A]..."))
                            ////            lstD.Add(dOCUMENTOes[y]);
                            ////        else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "...[A].[P]."))
                            ////            lstD.Add(dOCUMENTOes[y]);
                            ////        else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "...[A]..."))
                            ////            lstD.Add(dOCUMENTOes[y]);
                            ////        else if (System.Text.RegularExpressions.Regex.IsMatch(estatus, "...[T]..."))
                            ////            lstD.Add(dOCUMENTOes[y]);

                            ////        //if (dOCUMENTOes[y].ESTATUS_WF == "P")//LEJ 20.07.2018---------------------------I
                            ////        //{
                            ////        //    if (dOCUMENTOes[y].FLUJOes.Count > 0)
                            ////        //    {
                            ////        //        if (dOCUMENTOes[y].FLUJOes.OrderByDescending(a => a.POS).FirstOrDefault().USUARIO != null)
                            ////        //        {
                            ////        //            //(Pendiente Validación TS)
                            ////        //            if (dOCUMENTOes[y].FLUJOes.OrderByDescending(a => a.POS).FirstOrDefault().USUARIO.PUESTO_ID == 8)
                            ////        //            {
                            ////        //                lstD.Add(dOCUMENTOes[y]);
                            ////        //            }
                            ////        //        }
                            ////        //    }
                            ////        //}
                            ////        //else if (dOCUMENTOes[y].ESTATUS_WF == "R")//(Pendiente Corrección)
                            ////        //{
                            ////        //    if (dOCUMENTOes[y].FLUJOes.Count > 0)
                            ////        //    {
                            ////        //        lstD.Add(dOCUMENTOes[y]);
                            ////        //    }
                            ////        //}
                            ////        //else if (dOCUMENTOes[y].ESTATUS_WF == "T")//(Pendiente Taxeo)
                            ////        //{
                            ////        //    if (dOCUMENTOes[y].TSOL_ID == "NCIA")
                            ////        //    {
                            ////        //        if (dOCUMENTOes[y].PAIS_ID == "CO")//(sólo Colombia)
                            ////        //        {
                            ////        //            lstD.Add(dOCUMENTOes[y]);
                            ////        //        }
                            ////        //    }
                            ////        //}
                            ////        //else if (dOCUMENTOes[y].ESTATUS_WF == "A")//(Por Contabilizar)
                            ////        //{
                            ////        //    if (dOCUMENTOes[y].ESTATUS == "P")
                            ////        //    {
                            ////        //        lstD.Add(dOCUMENTOes[y]);
                            ////        //    }
                            ////        //}
                            ////        //else if (dOCUMENTOes[y].ESTATUS_SAP == "E")//Error en SAP
                            ////        //{
                            ////        //    lstD.Add(dOCUMENTOes[y]);
                            ////        //}
                            ////        //else if (dOCUMENTOes[y].ESTATUS_SAP == "X")//Succes en SAP
                            ////        //{
                            ////        //    lstD.Add(dOCUMENTOes[y]);
                            ////        //}
                            ////    }
                            ////    //LEJ 20.07.2018----------------------------------------------------------------T
                            ////}
                        }
                        //----
                        if (arrAprNum[0].Trim() == "DeAcuerdo" || arrAprNum[0].Trim() == "De Acuerdo")
                        {
                            for (int x = 0; x < lstD.Count; x++)
                            {
                                FLUJNEGO fn = new FLUJNEGO();
                                fn.NUM_DOC = lstD[x].NUM_DOC;
                                DateTime fecham = mm.Date;
                                fn.FECHAM = fecham;
                                fn.FECHAC = lstD[x].FECHAC;
                                fn.KUNNR  = arrPiNN[0];
                                var        cm  = arrAprNum[0].ToString();
                                Comentario com = new Comentario();
                                cm += com.getComment(mm.Body, mm.ContentType);
                                ////cm += " - " + mm.Body;
                                var cpos = db.FLUJNEGOes.Where(h => h.NUM_DOC.Equals(fn.NUM_DOC)).ToList().Count;
                                fn.POS        = cpos + 1;
                                fn.COMENTARIO = cm;
                                db.FLUJNEGOes.Add(fn);
                                db.SaveChanges();
                            }
                        }
                        else if (arrAprNum[0].Trim() == "TengoObservaciones" || arrAprNum[0].Trim() == "Tengo Observaciones")
                        {
                            for (int x = 0; x < lstD.Count; x++)
                            {
                                FLUJNEGO fn = new FLUJNEGO();
                                fn.NUM_DOC = lstD[x].NUM_DOC;
                                fn.FECHAC  = lstD[x].FECHAC;
                                DateTime fecham = mm.Date;
                                fn.FECHAM = fecham;
                                fn.KUNNR  = arrPiNN[0];
                                var        cm  = arrAprNum[0] + " ";
                                Comentario com = new Comentario();
                                cm += com.getComment(mm.Body, mm.ContentType);
                                ////cm += " - " + mm.Body;
                                var cpos = db.FLUJNEGOes.Where(h => h.NUM_DOC.Equals(fn.NUM_DOC)).ToList().Count;
                                fn.POS        = cpos + 1;
                                fn.COMENTARIO = cm;
                                db.FLUJNEGOes.Add(fn);
                                db.SaveChanges();
                            }
                        }
                        else
                        {
                            //Hubo algun error
                            break;
                        }
                    }
                    //para marcar el mensaje como leido
                    ic.AddFlags(Flags.Seen, mm);
                }
            }
            catch (Exception ex)
            {
                log.escribeLog("ERROR - " + ex.InnerException.ToString());
                ////throw new Exception(ex.InnerException.ToString());
            }
            finally
            {
                ic.Dispose();
            }
        }
Пример #8
0
        public List <string> mandarCorreo(string pay, string vkorg, string vtweg, string spart, string correo, DateTime fi, DateTime ff, DateTime fn)
        {
            List <string> errores = new List <string>();

            try
            {
                //LEJ 20.07.2018------------------------------
                //Validar si hay coincidencias en el filtro
                ////var dOCUMENTOes = db.DOCUMENTOes.Where(x => x.PAYER_ID == pay && x.VKORG == vkorg && x.VTWEG == vtweg && x.SPART == spart && x.PAYER_EMAIL == correo && ((x.FECHAC.Value.Day >= fi.Day && x.FECHAC.Value.Day <= ff.Day) && x.FECHAC.Value.Month == ff.Month && x.FECHAC.Value.Year == ff.Year)).Include(d => d.CLIENTE).Include(d => d.PAI).Include(d => d.SOCIEDAD).Include(d => d.TALL).Include(d => d.TSOL).Include(d => d.USUARIO).ToList();
                var dOCUMENTOes = db.DOCUMENTOes.Where(x => x.PAYER_ID == pay && x.VKORG == vkorg && x.VTWEG == vtweg && x.SPART == spart && x.PAYER_EMAIL == correo && (x.FECHAC >= fi && x.FECHAC <= ff)).Include(d => d.CLIENTE).Include(d => d.PAI).Include(d => d.SOCIEDAD).Include(d => d.TALL).Include(d => d.TSOL).Include(d => d.USUARIO).ToList();
                ////DOCUMENTOA dz = null;
                //Para ver si encuentra un match
                ////int xv = 0;
                int xxv = 0;
                for (int i = 0; i < dOCUMENTOes.Count; i++)
                {
                    PorEnviar pe = new PorEnviar();
                    if (pe.seEnvia(dOCUMENTOes[i], db, log))
                    {
                        xxv++;
                    }
                }
                //si encontro entra.
                if (xxv > 0)//LEJ 20.07.2018-----
                {
                    ////string mailt = ConfigurationManager.AppSettings["mailt"];
                    APPSETTING mailC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail") && x.ACTIVO).FirstOrDefault();
                    if (mailC == null)
                    {
                        Console.Write("Falta configuración de tipo de email!"); errores.Add("Falta configuración de tipo de email!"); return(errores);
                    }                              //RSG 30.07.2018

                    string  mailt   = mailC.VALUE; //RSG 30.07.2018
                    CONMAIL conmail = db.CONMAILs.Find(mailt);
                    //correo = correoA;
                    if (string.IsNullOrEmpty(correoA))
                    {
                        correoA = correo;
                    }
                    if (conmail != null)
                    {
                        ////MailMessage mail = new MailMessage(conmail.MAIL, "*****@*****.**");
                        MailMessage mail = new MailMessage(conmail.MAIL, correoA);
                        log.escribeLog("MAIL TO: TST");
                        log.escribeLog("MAIL TO: " + correo);
                        SmtpClient client = new SmtpClient();
                        if (conmail.SSL)
                        {
                            client.Port                  = (int)conmail.PORT;
                            client.EnableSsl             = conmail.SSL;
                            client.UseDefaultCredentials = false;
                            client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                        }
                        else
                        {
                            client.UseDefaultCredentials = true;
                            client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                        }
                        client.DeliveryMethod = SmtpDeliveryMethod.Network;
                        client.Host           = conmail.HOST;
                        try
                        {
                            APPSETTING urlC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("url") && x.ACTIVO).FirstOrDefault();
                            ////string cadUrl = System.Configuration.ConfigurationManager.AppSettings["url"];
                            if (urlC == null)
                            {
                                Console.Write("Falta configuración de URL!"); errores.Add("Falta configuración!"); return(errores);
                            }                           //RSG 30.07.2018
                            string cadUrl = urlC.VALUE; //RSG 30.07.2018
                            cadUrl += "Negociaciones/Index/";
                            string UrlDirectory = cadUrl;
                            ////UrlDirectory += "?pay=" + pay + "&vkorg=" + vkorg + "&vtweg=" + vtweg + "&spart=" + spart + "&correo=" + correo + "&fi=" + fi.ToShortDateString() + "&ff=" + ff.ToShortDateString();
                            UrlDirectory += "?pay=" + pay + "&vkorg=" + vkorg + "&vtweg=" + vtweg + "&spart=" + spart + "&correo=" + correo + "&fn=" + fn.ToShortDateString();
                            log.escribeLog("url: " + UrlDirectory);

                            WebRequest myRequest = WebRequest.Create(UrlDirectory);
                            myRequest.Method = "GET";
                            WebResponse  myResponse = myRequest.GetResponse();
                            StreamReader sr         = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
                            string       result     = sr.ReadToEnd();
                            sr.Close();
                            myResponse.Close();
                            mail.IsBodyHtml = true;
                            mail.Body       = result;
                            mail.Subject    = "TAT Kellogg's - " + DateTime.Now.ToShortDateString();
                            client.Send(mail);
                            log.escribeLog("MAIL ENVIADO a " + correoA);
                        }
                        catch (Exception ex)
                        {
                            log.escribeLog("ENVIADO: NO");
                            errores.Add("No se ha podido enviar el email");
                            log.escribeLog("ERROR: " + ex.InnerException);
                            ////throw new Exception("No se ha podido enviar el email", ex.InnerException);
                            return(errores);
                        }
                    }
                }
            }
            catch (Exception exe)
            {
                errores.Add(exe.ToString());
            }
            return(errores);
        }
Пример #9
0
        public void enviaMailC(decimal id, bool ban, string spras, string UrlDirectory, string page, string image, string emailsto) //MGC 09-10-2018 Envío de correos
        {
            //int pagina = 203; //ID EN BASE DE DATOS
            //ViewBag.Title = "Solicitud";

            if (id != 0)
            {
                DOCUMENTO dOCUMENTO = db.DOCUMENTOes.Find(id);
                if (dOCUMENTO != null)
                {
                    //dOCUMENTO.CLIENTE = db.CLIENTEs.Where(a => a.VKORG.Equals(dOCUMENTO.VKORG)
                    //                                        & a.VTWEG.Equals(dOCUMENTO.VTWEG)
                    //                                        & a.SPART.Equals(dOCUMENTO.SPART)
                    //                                        & a.KUNNR.Equals(dOCUMENTO.PAYER_ID)).First();

                    //MGC 08-10-2018.2 Obtener los datos para el correo
                    //Obtener el mail del creador

                    var workflow = db.FLUJOes.Where(a => a.NUM_DOC.Equals(id)).OrderByDescending(a => a.POS).FirstOrDefault();
                    //ViewBag.acciones = db.FLUJOes.Where(a => a.NUM_DOC.Equals(id) & a.ESTATUS.Equals("P") & a.USUARIOA_ID.Equals(User.Identity.Name)).FirstOrDefault();

                    string mailt  = ConfigurationManager.AppSettings["mailt"];
                    string mtest  = ConfigurationManager.AppSettings["mailtest"]; //B20180803 MGC Correos
                    string mailTo = "";
                    if (mtest == "X")
                    {
                        mailTo = "*****@*****.**";// mailt; //B20180803 MGC Correos  //MGC 08-10-2018.2 Obtener los datos para el correo
                    }
                    else
                    {
                        //mailTo = workflow.USUARIO.EMAIL;//MGC 09-10-2018 Envío de correos
                        mailTo = emailsto;//MGC 09-10-2018 Envío de correos
                    }
                    CONMAIL conmail = db.CONMAILs.Find(mailt);
                    if (conmail != null)
                    {
                        System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo);
                        SmtpClient client = new SmtpClient();
                        if (conmail.SSL)
                        {
                            client.Port                  = (int)conmail.PORT;
                            client.EnableSsl             = conmail.SSL;
                            client.UseDefaultCredentials = false;
                            client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                        }
                        else
                        {
                            client.UseDefaultCredentials = true;
                            client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                        }
                        client.DeliveryMethod = SmtpDeliveryMethod.Network;
                        client.Host           = conmail.HOST;


                        if (workflow == null)
                        {
                            mail.Subject = "N" + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString();
                        }
                        else
                        {
                            mail.Subject = workflow.ESTATUS + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString();
                        }
                        mail.IsBodyHtml = true;
                        //UrlDirectory = UrlDirectory.Substring(0, UrlDirectory.LastIndexOf("/"));
                        //MGC 09-10-2018 Envío de correos -->
                        //UrlDirectory = UrlDirectory.Replace("Solicitudes/Create", "Correos/" + page);
                        //UrlDirectory = UrlDirectory.Replace("Solicitudes/Details", "Correos/" + page);
                        //UrlDirectory = UrlDirectory.Replace("Solicitudes/Edit", "Correos/" + page);
                        //UrlDirectory = UrlDirectory.Replace("Flujos/Procesa", "Correos/" + page);
                        //MGC 09-10-2018 Envío de correos <--
                        //UrlDirectory += "/" + dOCUMENTO.NUM_DOC + "?mail=true"; //B20180803 MGC Correos
                        UrlDirectory += "/" + dOCUMENTO.NUM_DOC + ""; //B20180803 MGC Correos
                        HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UrlDirectory);
                        myRequest.Method = "GET";
                        WebResponse  myResponse = myRequest.GetResponse();
                        StreamReader sr         = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
                        string       result     = sr.ReadToEnd();
                        sr.Close();
                        myResponse.Close();

                        //mail.Body = result;//B20180803 MGC Correos
                        try
                        {
                            mail.AlternateViews.Add(Mail_Body(result, image));//B20180803 MGC Correos
                        }catch (Exception e)
                        {
                        }
                        mail.IsBodyHtml = true;//B20180803 MGC Correos

                        client.Send(mail);
                    }
                }
            }
            //return View(dOCUMENTO);
        }
Пример #10
0
        public ActionResult Enviar(decimal id, bool index, string tipo, string spras)
        {
            //int pagina = 203; //ID EN BASE DE DATOS
            ViewBag.Title = "Solicitud";

            if (id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DOCUMENTO dOCUMENTO = db.DOCUMENTOes.Find(id);

            if (dOCUMENTO == null)
            {
                return(HttpNotFound());
            }
            dOCUMENTO.CLIENTE = db.CLIENTEs.Where(a => a.VKORG.Equals(dOCUMENTO.VKORG)
                                                  & a.VTWEG.Equals(dOCUMENTO.VTWEG)
                                                  & a.SPART.Equals(dOCUMENTO.SPART)
                                                  & a.KUNNR.Equals(dOCUMENTO.PAYER_ID)).First();
            var workflow = db.FLUJOes.Where(a => a.NUM_DOC.Equals(id)).OrderByDescending(a => a.POS).FirstOrDefault();
            //ViewBag.acciones = db.FLUJOes.Where(a => a.NUM_DOC.Equals(id) & a.ESTATUS.Equals("P") & a.USUARIOA_ID.Equals(User.Identity.Name)).FirstOrDefault();

            string mailt  = ConfigurationManager.AppSettings["mailt"];
            string mtest  = ConfigurationManager.AppSettings["mailtest"];
            string mailTo = "";

            if (mtest == "X")
            {
                mailTo = "*****@*****.**";
            }
            else
            {
                mailTo = workflow.USUARIO.EMAIL;
            }

            CONMAIL conmail = db.CONMAILs.Find(mailt);

            if (conmail != null)
            {
                MailMessage mail   = new MailMessage(conmail.MAIL, mailTo);
                SmtpClient  client = new SmtpClient();
                if (conmail.SSL)
                {
                    client.Port                  = (int)conmail.PORT;
                    client.EnableSsl             = conmail.SSL;
                    client.UseDefaultCredentials = false;
                    client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                }
                else
                {
                    client.UseDefaultCredentials = true;
                    client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                }
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Host           = conmail.HOST;


                if (workflow == null)
                {
                    mail.Subject = "N" + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString();
                }
                else
                {
                    mail.Subject = workflow.ESTATUS + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString();
                }
                mail.IsBodyHtml = true;
                string UrlDirectory = Request.Url.GetLeftPart(UriPartial.Path);
                //UrlDirectory = UrlDirectory.Substring(0, UrlDirectory.LastIndexOf("/"));
                if (tipo == "R")
                {
                    UrlDirectory = UrlDirectory.Replace("/Mails/Enviar", "/Correos/Details");
                }
                if (tipo == "A")
                {
                    UrlDirectory = UrlDirectory.Replace("/Mails/Enviar", "/Correos/Index");
                }
                HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UrlDirectory);
                myRequest.Method = "GET";
                WebResponse  myResponse = myRequest.GetResponse();
                StreamReader sr         = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
                string       result     = sr.ReadToEnd();
                sr.Close();
                myResponse.Close();

                mail.Body = result;

                client.Send(mail);
            }
            if (index)
            {
                return(RedirectToAction("Index", "Solicitudes", new { id = id, spras = spras }));
            }
            else
            {
                return(RedirectToAction("Details", "Solicitudes", new { id = id, spras = spras }));
            }


            //return View(dOCUMENTO);
        }
Пример #11
0
        public void enviaMailC(decimal id, bool ban, string spras, string UrlDirectory, string page, string image, string imageFlag, int?pos = null)
        {
            try
            {
                if (id != 0)
                {
                    DOCUMENTO dOCUMENTO = db.DOCUMENTOes.Find(id);
                    if (dOCUMENTO != null)
                    {
                        dOCUMENTO.CLIENTE = db.CLIENTEs.Where(a => a.VKORG.Equals(dOCUMENTO.VKORG) &&
                                                              a.VTWEG.Equals(dOCUMENTO.VTWEG) &&
                                                              a.SPART.Equals(dOCUMENTO.SPART) &&
                                                              a.KUNNR.Equals(dOCUMENTO.PAYER_ID)).First();

                        var workflow = db.FLUJOes.Where(a => a.NUM_DOC.Equals(id)).OrderByDescending(a => a.POS).FirstOrDefault();

                        string mailt  = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail")).FirstOrDefault().VALUE;
                        string mtest  = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailTest")).FirstOrDefault().VALUE;
                        string mailTo = "";
                        if (mtest == "X")
                        {
                            mailTo = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailAdmin")).FirstOrDefault().VALUE;
                        }
                        else
                        {
                            if (pos == null)
                            {
                                mailTo = workflow.USUARIO1.EMAIL;
                            }
                            else if (pos == 1)
                            {
                                mailTo = dOCUMENTO.USUARIO.EMAIL;
                            }
                        }
                        CONMAIL conmail = db.CONMAILs.Find(mailt);
                        if (conmail != null)
                        {
                            System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo);
                            SmtpClient client = new SmtpClient();
                            if (conmail.SSL)
                            {
                                client.Port                  = (int)conmail.PORT;
                                client.EnableSsl             = conmail.SSL;
                                client.UseDefaultCredentials = false;
                                client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                            }
                            else
                            {
                                client.UseDefaultCredentials = true;
                                client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                            }
                            client.DeliveryMethod = SmtpDeliveryMethod.Network;
                            client.Host           = conmail.HOST;


                            if (workflow == null)
                            {
                                mail.Subject = "N" + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString();
                            }
                            else
                            {
                                mail.Subject = workflow.ESTATUS + dOCUMENTO.NUM_DOC + "-" + DateTime.Now.ToShortTimeString();
                            }
                            mail.IsBodyHtml = true;
                            //mail.Subject += workflow.USUARIOA_ID;
                            if (pos == null)
                            {
                                mail.Subject += " " + workflow.USUARIOA_ID;
                            }
                            else if (pos == 1)
                            {
                                mail.Subject += " " + dOCUMENTO.USUARIOC_ID;
                            }

                            UrlDirectory = UrlDirectory.Replace("Solicitudes/Create", "Correos/" + page);
                            UrlDirectory = UrlDirectory.Replace("Solicitudes/Details", "Correos/" + page);
                            UrlDirectory = UrlDirectory.Replace("Solicitudes/Edit", "Correos/" + page);
                            UrlDirectory = UrlDirectory.Replace("Flujos/Procesa", "Correos/" + page);
                            UrlDirectory = UrlDirectory.Replace("Masiva/setDatos", "Correos/" + page);
                            UrlDirectory = UrlDirectory.Replace("Solicitudes/Cancelar", "Correos/" + page);
                            UrlDirectory = UrlDirectory.Replace("Solicitudes/Reversar", "Correos/" + page);
                            //UrlDirectory += "/" + dOCUMENTO.NUM_DOC + "?mail=true"; //B20180803 MGC Correos
                            //UrlDirectory += "/" + dOCUMENTO.NUM_DOC + ""; //B20180803 MGC Correos
                            UrlDirectory += "/" + dOCUMENTO.NUM_DOC + "?spras=" + spras; //B20180803 MGC Correos
                            Log.Info("Intenta generar page " + UrlDirectory);
                            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UrlDirectory);
                            myRequest.Method = "GET";
                            WebResponse  myResponse = myRequest.GetResponse();
                            StreamReader sr         = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
                            string       result     = sr.ReadToEnd();
                            sr.Close();
                            myResponse.Close();

                            //mail.Body = result;//B20180803 MGC Correos

                            mail.AlternateViews.Add(Mail_Body(result, image, imageFlag)); //B20180803 MGC Correos
                            mail.IsBodyHtml = true;                                       //B20180803 MGC Correos

                            Log.Info("Intenta enviar email-To:" + mailTo + " " + UrlDirectory);
                            client.Send(mail);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Log.Info("Error al enviar correo:" + e.Message);
                if (e.InnerException != null)
                {
                    Log.Info(e.InnerException.ToString());
                }
                Console.Write("Error al enviar correo:" + e.Message);
            }
        }
Пример #12
0
        public void enviaMailB(string usu, string usu2, string spras, string UrlDirectory, string page, string image, string imageFlag)
        {
            USUARIO usuInf1 = db.USUARIOs.Where(x => x.ID == usu).FirstOrDefault();
            USUARIO usuInf2 = db.USUARIOs.Where(x => x.ID == usu2).FirstOrDefault();

            try
            {
                string mailt  = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail")).FirstOrDefault().VALUE;
                string mtest  = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailTest")).FirstOrDefault().VALUE;
                string mailTo = "";

                if (mtest == "X")
                {
                    mailTo = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailAdmin")).FirstOrDefault().VALUE;
                }
                else
                {
                    mailTo = usuInf2.EMAIL;
                }

                CONMAIL conmail = db.CONMAILs.Find(mailt);

                if (conmail != null)
                {
                    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo);
                    SmtpClient client = new SmtpClient();
                    if (conmail.SSL)
                    {
                        client.Port                  = (int)conmail.PORT;
                        client.EnableSsl             = conmail.SSL;
                        client.UseDefaultCredentials = false;
                        client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                    }
                    else
                    {
                        client.UseDefaultCredentials = true;
                        client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                    }
                    client.DeliveryMethod = SmtpDeliveryMethod.Network;
                    client.Host           = conmail.HOST;
                    mail.Subject          = "BACKUP" + "-" + usuInf1.NOMBRE + " " + usuInf1.APELLIDO_P + " " + usuInf1.APELLIDO_M + "-" + DateTime.Now.ToShortTimeString();
                    mail.IsBodyHtml       = true;
                    UrlDirectory          = UrlDirectory.Replace("Usuarios/AddBackup", "Correos/" + page);
                    UrlDirectory         += "/?usu=" + usu + "&usu2=" + usu2 + "&spras=" + spras;
                    Log.Info("Intenta generar page " + UrlDirectory);
                    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UrlDirectory);
                    myRequest.Method = "GET";
                    WebResponse  myResponse = myRequest.GetResponse();
                    StreamReader sr         = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
                    string       result     = sr.ReadToEnd();
                    sr.Close();
                    myResponse.Close();
                    mail.AlternateViews.Add(Mail_Body(result, image, imageFlag));
                    mail.IsBodyHtml = true;

                    Log.Info("Intenta enviar email-To:" + mailTo + " " + UrlDirectory);
                    client.Send(mail);
                }
            }
            catch (Exception e)
            {
                Log.Info("Error al enviar correo:" + e.Message);
                if (e.InnerException != null)
                {
                    Log.Info(e.InnerException.ToString());
                }
                Console.Write("Error al enviar correo:" + e.Message);
            }
        }
Пример #13
0
        public void enviarCorreo(decimal nd, int c, int pos)
        {
            try
            {
                ////var workflow = db.FLUJOes.Where(a => a.NUM_DOC.Equals(nd) && a.POS == pos).OrderByDescending(a => a.POS).FirstOrDefault();
                var        workflow  = db.FLUJOes.Where(a => a.NUM_DOC.Equals(nd)).OrderByDescending(a => a.POS).FirstOrDefault();
                APPSETTING mailtC    = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail") && x.ACTIVO).FirstOrDefault();
                string     mailt     = mailtC.VALUE;
                APPSETTING mailTestC = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailTest") && x.ACTIVO).FirstOrDefault();
                string     mtest     = mailTestC.VALUE;
                string     mailTo    = "";
                if (mtest == "X")
                {
                    mailTo = "*****@*****.**";
                }
                else
                {
                    mailTo = workflow.USUARIO.EMAIL;
                }
                CONMAIL conmail = db.CONMAILs.Find(mailt);
                if (conmail != null)
                {
                    System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo);
                    SmtpClient client = new SmtpClient();
                    if (conmail.SSL)
                    {
                        client.Port                  = (int)conmail.PORT;
                        client.EnableSsl             = conmail.SSL;
                        client.UseDefaultCredentials = false;
                        client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                    }
                    else
                    {
                        client.UseDefaultCredentials = true;
                        client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                    }
                    client.DeliveryMethod = SmtpDeliveryMethod.Network;
                    client.Host           = conmail.HOST;

                    APPSETTING urlC         = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("url") && x.ACTIVO).FirstOrDefault();
                    string     cadUrl       = urlC.VALUE;
                    string     UrlDirectory = "";
                    if (c == 1)
                    {
                        UrlDirectory = cadUrl + "Correos/Index/" + nd + "?spras=" + workflow.USUARIO.SPRAS_ID;
                        ////mail.Subject = "Aprobado";
                        mail.Subject = "A" + nd + "-" + DateTime.Now.ToShortTimeString();
                    }
                    if (c == 3)
                    {
                        UrlDirectory = cadUrl + "Correos/Details/" + nd + "?spras=" + workflow.USUARIO.SPRAS_ID;
                        ////mail.Subject = "Rechazado";
                        mail.Subject = "R" + nd + "-" + DateTime.Now.ToShortTimeString();
                    }
                    WebRequest myRequest = WebRequest.Create(UrlDirectory);
                    myRequest.Method      = "GET";
                    myRequest.ContentType = "application/x-www-form-urlencoded";
                    // Set credentials to use for this request.
                    myRequest.Credentials = CredentialCache.DefaultCredentials;
                    WebResponse  myResponse = myRequest.GetResponse();
                    StreamReader sr         = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
                    string       result     = sr.ReadToEnd();
                    sr.Close();
                    myResponse.Close();
                    mail.AlternateViews.Add(Mail_Body(result, "MX"));//B20180803 MGC Correos
                    mail.IsBodyHtml = true;
                    //mail.Body = result;
                    client.Send(mail);
                }
            }
            catch (Exception ex)
            {
                log.escribeLog("ERROR - " + ex.InnerException.ToString());
                ////throw new Exception("No se ha podido enviar el email", ex.InnerException);
            }
        }
Пример #14
0
        public void mandarCorreo(string pay, string vkorg, string vtweg, string spart, string correo)
        {
            ////MailMessage mail = new System.Net.Mail.MailMessage();

            ////mail.From = new MailAddress("*****@*****.**");

            //////mail.To.Add("*****@*****.**");
            ////mail.To.Add(correo);
            ////mail.Subject = "Asunto";

            ////SmtpClient smtp = new SmtpClient();

            ////smtp.Host = "smtp.gmail.com";
            ////smtp.Port = 25; //465; //587
            ////smtp.Credentials = new NetworkCredential("*****@*****.**", "24abril14");
            ////smtp.EnableSsl = true;

            string mailt  = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mail")).FirstOrDefault().VALUE;
            string mtest  = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailTest")).FirstOrDefault().VALUE;
            string mailTo = "";

            if (mtest == "X")
            {
                mailTo = db.APPSETTINGs.Where(x => x.NOMBRE.Equals("mailAdmin")).FirstOrDefault().VALUE;
            }
            else
            {
                mailTo = correo;
            }
            CONMAIL conmail = db.CONMAILs.Find(mailt);

            if (conmail != null)
            {
                System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage(conmail.MAIL, mailTo);
                SmtpClient client = new SmtpClient();
                if (conmail.SSL)
                {
                    client.Port                  = (int)conmail.PORT;
                    client.EnableSsl             = conmail.SSL;
                    client.UseDefaultCredentials = false;
                    client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                }
                else
                {
                    client.UseDefaultCredentials = true;
                    client.Credentials           = new NetworkCredential(conmail.MAIL, conmail.PASS);
                }
                client.DeliveryMethod = SmtpDeliveryMethod.Network;
                client.Host           = conmail.HOST;


                //mail.To.Add("*****@*****.**");
                //mail.To.Add(correo);
                mail.Subject = "Negociaciones cliente: " + pay;

                try
                {
                    string UrlDirectory = Request.Url.GetLeftPart(UriPartial.Path);
                    UrlDirectory  = UrlDirectory.Replace("Edit", "Index");
                    UrlDirectory += "?pay=" + pay + "&vkorg=" + vkorg + "&vtweg=" + vtweg + "&spart=" + spart + "&correo=" + correo;
                    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(UrlDirectory);
                    myRequest.Method = "GET";
                    WebResponse  myResponse = myRequest.GetResponse();
                    StreamReader sr         = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
                    string       result     = sr.ReadToEnd();
                    sr.Close();
                    myResponse.Close();
                    mail.IsBodyHtml = true;
                    mail.Body       = result;
                    // client.Send(mail);
                }
                catch (Exception ex)
                {
                    throw new Exception("No se ha podido enviar el email", ex.InnerException);
                }
            }
        }