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 })); }
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 })); }