コード例 #1
0
        public ActionResult BrowserAutorizacionesRepuestos(int?id_s, int?menu)
        {
            configuracion_envio_correos correoconfig = db.configuracion_envio_correos.Where(d => d.activo).FirstOrDefault();
            int            usuario_actual            = Convert.ToInt32(Session["user_usuarioid"]);
            int            id           = Convert.ToInt32(Request["autorizacion_id"]);
            autorizaciones autorizacion = db.autorizaciones.Find(id);

            if (autorizacion == null)
            {
                return(HttpNotFound());
            }

            autorizacion.fecha_autorizacion = DateTime.Now;
            autorizacion.user_autorizacion  = Convert.ToInt32(Session["user_usuarioid"]);
            autorizacion.autorizado         = Convert.ToBoolean(Request["autorizado"]);
            autorizacion.comentario         = Request["comentario"];
            db.Entry(autorizacion).State    = EntityState.Modified;
            db.SaveChanges();
            TempData["mensaje"] = "Autorización guardada correctamente";

            // envio de notificacion
            try
            {
                users  user_destinatario = db.users.Find(autorizacion.user_creacion);
                users  user_remitente    = db.users.Find(autorizacion.user_autorizacion);
                string autorizado        = autorizacion.autorizado ? "Autorizado" : "No autorizado";

                MailAddress de   = new MailAddress(correoconfig.correo, correoconfig.nombre_remitente);
                MailAddress para = new MailAddress(user_destinatario.user_email,
                                                   user_destinatario.user_nombre + " " + user_destinatario.user_apellido);
                MailMessage mensaje = new MailMessage(de, para);
                mensaje.Bcc.Add("*****@*****.**");
                mensaje.Bcc.Add("*****@*****.**");
                mensaje.ReplyToList.Add(new MailAddress(user_remitente.user_email,
                                                        user_remitente.user_nombre + " " + user_remitente.user_apellido));
                mensaje.Subject      = "Respuesta Autorización facturación referencia " + autorizacion.ref_codigo;
                mensaje.BodyEncoding = Encoding.Default;
                mensaje.IsBodyHtml   = true;
                string html = "";
                html += "<h4>Cordial Saludo</h4><br>";
                html += "<p>Respuesta solicitud autorización de facturación de la referencia <b>" +
                        autorizacion.ref_codigo + "</b> precio de venta menor al costo </p><br>";
                html += "<p><b>Fecha de solicitud: </b>" + autorizacion.fecha_creacion + "</p>";
                html += "<p><b>Referencia: </b>" + autorizacion.ref_codigo + "</p>";
                html += "<p><b>Estado Solicitud: " + autorizado + " </b></p>";
                html += "<p><b>Observaciones: </b>" + autorizacion.comentario + "</p>";
                html += "<p><b>Fecha Respuesta: </b>" + autorizacion.fecha_autorizacion + "</p>";
                html += "<p><b>Usuario Autorización: </b>" + user_remitente.user_nombre + " " +
                        user_remitente.user_apellido + "</p>";
                mensaje.Body = html;

                SmtpClient cliente = new SmtpClient(correoconfig.smtp_server)
                {
                    Port        = correoconfig.puerto,
                    Credentials = new NetworkCredential(correoconfig.usuario, correoconfig.password),
                    EnableSsl   = true
                };
                cliente.Send(mensaje);

                notificaciones envio = new notificaciones
                {
                    user_remitente    = autorizacion.user_autorizacion,
                    asunto            = "Notificación respuesta autorización facturación referencia",
                    fecha_envio       = DateTime.Now,
                    enviado           = true,
                    user_destinatario = autorizacion.user_creacion,
                    autorizacion_id   = autorizacion.id
                };
                db.notificaciones.Add(envio);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                notificaciones envio = new notificaciones
                {
                    user_remitente    = autorizacion.user_autorizacion,
                    asunto            = "Notificación respuesta autorización facturación referencia",
                    fecha_envio       = DateTime.Now,
                    enviado           = false,
                    user_destinatario = autorizacion.user_creacion,
                    autorizacion_id   = autorizacion.id,
                    razon_no_envio    = ex.Message
                };
                db.notificaciones.Add(envio);
                db.SaveChanges();
            }

            //var autorizaciones = db.autorizaciones.Where(x => x.tipo_autorizacion == 4 && x.user_autorizacion == usuario_actual).ToList();
            BuscarFavoritos(menu);
            return(RedirectToAction("BrowserAutorizacionesRepuestos", new { menu }));
        }
コード例 #2
0
        public ActionResult BrowserAutorizaciones(int?id_s, int?menu)
        {
            configuracion_envio_correos correoconfig = db.configuracion_envio_correos.Where(d => d.activo).FirstOrDefault();
            int            id           = Convert.ToInt32(Request["autorizacion_id"]);
            autorizaciones autorizacion = db.autorizaciones.Find(id);

            if (autorizacion == null)
            {
                return(HttpNotFound());
            }

            autorizacion.fecha_autorizacion = DateTime.Now;
            autorizacion.user_autorizacion  = Convert.ToInt32(Session["user_usuarioid"]);
            autorizacion.autorizado         = Convert.ToBoolean(Request["autorizado"]);
            autorizacion.comentario         = Request["comentario"];
            db.Entry(autorizacion).State    = EntityState.Modified;
            db.SaveChanges();

            int idPedido = db.vpedido.OrderByDescending(x => x.id)
                           .FirstOrDefault(x => x.planmayor == autorizacion.plan_mayor).id;

            if (autorizacion.autorizado)
            {
                bitacoraExcepcionFactura bitacora = new bitacoraExcepcionFactura
                {
                    id_excepcion           = Convert.ToInt32(Request["excepcion"]),
                    id_Autorizacion        = autorizacion.id,
                    id_Bodega              = autorizacion.bodega,
                    id_Pedido              = idPedido,
                    id_usuario_solicitante = autorizacion.user_creacion,
                    id_usuario_apobador    = Convert.ToInt32(Session["user_usuarioid"]),
                    fecha_aprobacion       = DateTime.Now
                };
                db.bitacoraExcepcionFactura.Add(bitacora);
            }

            db.SaveChanges();

            TempData["mensaje"] = "Autorización guardada correctamente";

            #region envio de notificacion

            try
            {
                users  user_destinatario = db.users.Find(autorizacion.user_creacion);
                users  user_remitente    = db.users.Find(autorizacion.user_autorizacion);
                string autorizado        = autorizacion.autorizado ? "Autorizado" : "No autorizado";

                MailAddress de   = new MailAddress(correoconfig.correo, correoconfig.nombre_remitente);
                MailAddress para = new MailAddress(user_destinatario.user_email,
                                                   user_destinatario.user_nombre + " " + user_destinatario.user_apellido);
                MailMessage mensaje = new MailMessage(de, para);
                mensaje.Bcc.Add("*****@*****.**");
                mensaje.Bcc.Add("*****@*****.**");
                mensaje.ReplyToList.Add(new MailAddress(user_remitente.user_email,
                                                        user_remitente.user_nombre + " " + user_remitente.user_apellido));
                mensaje.Subject      = "Respuesta Autorización plan mayor " + autorizacion.icb_vehiculo.plan_mayor;
                mensaje.BodyEncoding = Encoding.Default;
                mensaje.IsBodyHtml   = true;
                string html = "";
                html += "<h4>Cordial Saludo</h4><br>";
                html += "<p>Respuesta solicitud autorización de asignación del vehículo con plan mayor <b>" +
                        autorizacion.icb_vehiculo.plan_mayor + "</b> por averia </p><br>";
                html += "<p><b>Fecha de solicitud: </b>" + autorizacion.fecha_creacion + "</p>";
                html += "<p><b>Plan Mayor: </b>" + autorizacion.icb_vehiculo.plan_mayor + "</p>";
                html += "<p><b>Estado Solicitud: " + autorizado + " </b></p>";
                html += "<p><b>Observaciones: </b>" + autorizacion.comentario + "</p>";
                html += "<p><b>Fecha Respuesta: </b>" + autorizacion.fecha_autorizacion + "</p>";
                html += "<p><b>Usuario Autorización: </b>" + user_remitente.user_nombre + " " +
                        user_remitente.user_apellido + "</p>";
                mensaje.Body = html;

                SmtpClient cliente = new SmtpClient(correoconfig.smtp_server)
                {
                    Port        = correoconfig.puerto,
                    Credentials = new NetworkCredential(correoconfig.usuario, correoconfig.password),
                    EnableSsl   = true
                };
                cliente.Send(mensaje);

                notificaciones envio = new notificaciones
                {
                    user_remitente    = autorizacion.user_autorizacion,
                    asunto            = "Notificación respuesta autorización por averia",
                    fecha_envio       = DateTime.Now,
                    enviado           = true,
                    user_destinatario = autorizacion.user_creacion,
                    autorizacion_id   = autorizacion.id
                };
                db.notificaciones.Add(envio);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                notificaciones envio = new notificaciones
                {
                    user_remitente    = autorizacion.user_autorizacion,
                    asunto            = "Notificación respuesta autorización por averia",
                    fecha_envio       = DateTime.Now,
                    enviado           = false,
                    user_destinatario = autorizacion.user_creacion,
                    autorizacion_id   = autorizacion.id,
                    razon_no_envio    = ex.Message
                };
                db.notificaciones.Add(envio);
                db.SaveChanges();
            }

            #endregion

            //var autorizaciones = db.autorizaciones.Include(x => x.icb_vehiculo.icb_vehiculo_eventos).Where(x=> x.tipo_autorizacion == 1).ToList();
            BuscarFavoritos(menu);
            return(RedirectToAction("BrowserAutorizaciones", new { menu }));
        }