Пример #1
0
        public void MandarMailClientesFechaEntrega(DataTable datos, string MailAgencia, string pass)
        {
            string[] MailCadena = { "" };
            string[] separadas  = { "" };
            try
            {
                try
                {
                    MailCadena = pass.Split('@');
                }
                catch
                {
                    throw new Exception("Mail mal ingresado.");
                }

                Guia Guias = new Guia();
                IGuiasSolicitudConfirmacionTurnoDominio _guiasDominio = IoC.GetObjectDominio <IGuiasSolicitudConfirmacionTurnoDominio>();

                List <Dominio.Entidades.DatosGuiasTurno> lstDatosGuia = new List <Dominio.Entidades.DatosGuiasTurno>();

                string DatosMail = "";
                for (int i = 0; i < datos.Rows.Count; i++)
                {
                    string nroguias = "";
                    string guias    = datos.Rows[i].ItemArray[0].ToString();

                    string mails = datos.Rows[i].ItemArray[1].ToString();
                    if (mails != "")//para que no de error por si no cargan mails
                    {
                        separadas = guias.Split(',');

                        for (int g = 0; g < separadas.Length; g++)
                        {
                            Guias.GuiaID = Convert.ToInt32(separadas[g].ToString());
                            Guias.Consultar();
                            //para que recupere los datos de la guia
                            lstDatosGuia = _guiasDominio.getDatosGuiasTurnos(Convert.ToInt32(Guias.GuiaID));
                            string obser = lstDatosGuia[0].ObservacionSolicitud;

                            string NroCaso = lstDatosGuia[0].NroPedido;  // datos.Rows[i].ItemArray[3].ToString();


                            lstClietnes = _guiasDominio.GetDatosClientesByGuiaID(Convert.ToInt32(separadas[g].ToString()));


                            nroguias = Guias.TipoGuia + "-" + Guias.NroSucursalGuia + "-" + Guias.NroGuia;

                            if (DatosMail == "")
                            {
                                DatosMail = "<table><tr><td>Estimado " + lstClietnes[0].Destinatario + "</td></tr><tr><td>Solicitamos Turno para las siguientes entregas : <br/>" + lstClietnes[0].Remitente + " con la guia de andesmar numero " + nroguias + " con las siguientes caracteristicas:</td></tr><tr><td>" + obser + "</td></tr></table>";
                            }
                            else
                            {
                                DatosMail = DatosMail + "<table><tr><td><br/> " + lstClietnes[0].Remitente + " con la guia de andesmar numero " + nroguias + " con las siguientes caracteristicas:</td></tr><tr><td>" + obser + "</td></tr></table>";
                            }
                        }

                        string smtpAddress    = "mail.andesmar.com.ar"; // "mail.andesmar.com.ar";
                        Int32  portNumber     = int.Parse("25");        //25;
                        string fromaddress    = MailAgencia;            //"*****@*****.**";
                        string fromName       = "Solicitud de Turno";   // "Mail Automatico - Interface Sitt Micronauta";
                        bool   useCredentials = true;
                        string userName       = MailAgencia;            //"*****@*****.**"; // "*****@*****.**";
                        string password       = pass;                   // "ntexpress1"; // "ntexpress1";

                        SmtpClient  insSmtpClient  = new SmtpClient(smtpAddress, portNumber);
                        MailMessage insMailMessage = new MailMessage();
                        insMailMessage.From = new MailAddress(fromaddress, fromName);

                        insMailMessage.To.Add(mails);

                        insMailMessage.Body = "" + DatosMail + "<br/><tr><td>Por favor responder el mail con las posibles fechas de entrega" + "</td></tr><br/><tr><td>Gracias por su tiempo.</td></tr><br/><tr><td>Saludos.</td></tr>";

                        insMailMessage.Subject    = "Solicitud de Turno para Entrega"; // "Subject";
                        insMailMessage.IsBodyHtml = true;

                        if (useCredentials)
                        {
                            NetworkCredential insNetworkCredential = new NetworkCredential(userName, password);
                            insSmtpClient.Credentials = insNetworkCredential;
                        }

                        insMailMessage.Priority = MailPriority.High;

                        insSmtpClient.Send(insMailMessage);

                        DatosMail = "";
                    }
                }
            }
            catch (SmtpException ex)
            {
                throw;
            }
        }
        public bool RecibirGuiasAsociadasConsolidado(System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario)
        {
            foreach (ConsolidadoGuias guiaConsolidado in this.guiasConsolidado)
            {
                GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();
                if (guiaConsolidado.EnAgenciaDestino)
                {
                    /* --Estaba así hasta el 27/02/2009
                     * Guia guia=new Guia();
                     * guia.GuiaID=guiaConsolidado.GuiaID;
                     * guia.Ingresada("",agenciaUsuaria,transaccion,usuario);
                     */

                    Guia guia = new Guia();
                    guia.GuiaID = guiaConsolidado.GuiaID;
                    guia.Consultar();

                    // Reviso si la guía esta en condiciones de ser recibida
                    if (guiaConsolidado.EnCondicionesDeSerRecibidaPorAgencia)
                    {
                        // La guía esta en condiciones de ser recibida. Registro los estados correspondientes

                        // Si la agencia de destino del consolidado es la misma que la que lo recibe
                        // la guía queda pendiente de entrega, sino en agencia de trasbordo
                        if (guia.AgenciaDestinoID == agenciaUsuaria)
                        {
                            guia.Ingresada("", agenciaUsuaria, transaccion, usuario);
                        }
                        else
                        {
                            guia.Trasbordo("", agenciaUsuaria, transaccion, usuario);
                        }
                    }


                    /*
                     * oGuiaEstado.GuiaID = guiaConsolidado.GuiaID;
                     * oGuiaEstado.EstadoGuiaID=(int)SisPack.ValorEstadoEstatico.EnDestino;
                     * oGuiaEstado.TipoEstadoGuiaID= SisPack.TipoEstadoGuia.EstadoEstatico;
                     * oGuiaEstado.UsuarioID=usuario.UsuarioID;
                     * oGuiaEstado.FechaHis= DateTime.Today;
                     * oGuiaEstado.AgenciaID= agenciaUsuaria;
                     * //oGuiaEstado.Observaciones = obs;
                     * oGuiaEstado.Observaciones = "";
                     * oGuiaEstado.Guardar(transaccion);
                     */
                }
                else                 //Quiere decir que la guia no llegó y le debe aparecer nuevamente a la agencia que emitió el consolidado
                {
                    // Consulto cuál fue la agencia que generó el consolidado
                    Consolidado consolidado = new Consolidado();
                    consolidado.ConsolidadoID = this.ConsolidadoID;
                    consolidado.Consultar();

                    //agenciaUsuaria = consolidado.AgenciaID;

                    oGuiaEstado.GuiaID           = guiaConsolidado.GuiaID;
                    oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoEstatico.PendienteRedespacho;
                    oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoEstatico;
                    oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                    oGuiaEstado.FechaHis         = DateTime.Today;
                    oGuiaEstado.AgenciaID        = consolidado.AgenciaID;
                    oGuiaEstado.Observaciones    = "";
                    oGuiaEstado.Guardar(transaccion);
                }
            }
            return(true);
        }