public async Task <JsonResult> Create(Otra_solicitud model, string id_tipo, string fecha_novedad, int id_cliente, int usuarios_) { try { var tipo_nov = Convert.ToInt32(id_tipo); Novedad novedad = new Novedad(); Tipo_novedad tipo = _db.Tipo_novedad.FirstOrDefault(x => x.id_tipo == tipo_nov); novedad.Tipo_novedad = tipo; novedad.tipo_nov = tipo_nov; novedad.id_cliente = id_cliente; novedad.fecha_mod = DateTime.Now; novedad.estado = "P"; novedad.usuario_mod = SesionLogin().id; novedad.fecha_novedad = DateTime.Parse(fecha_novedad); model.Novedad = novedad; model.Usuario = _db.Usuario.FirstOrDefault(x => x.id == usuarios_);//id_usuario if (model.cant_horas == null) { model.cant_horas = "0"; } _db.Otra_solicitud.Add(model); _db.SaveChanges(); int id_nov = model.id_novedad; var casillas = (from nov in _db.Novedad join uc in _db.Usuario_Cliente on nov.id_cliente equals uc.id_cliente join u in _db.Usuario on uc.id_usu equals u.id where u.id_tipo_usu == 2 && nov.id_novedad == id_nov select u).ToList(); List <Task> sendTask = new List <Task>(); foreach (var item in casillas) { string mensaje = "Estimado(a) " + item.Nom_usu + ",</br>"; string detalle = "Te comentamos que hoy " + DateTime.Now.ToShortDateString() + " se ha realizado una solicitud de Tipo \"Otras Solicitudes\" de la empresa : </br> " + _db.Cliente.FirstOrDefault(p => p.id_cliente == id_cliente).nom_emp; sendTask.Add(App_Start.Helper.SendEmail("*****@*****.**", item.email, "Se ha realizado una solicitud de Tipo \"Otras Solicitudes\"", mensaje, detalle)); helper.registraEmail(item.id, "*****@*****.**", item.email, "Se ha realizado una solicitud de Tipo \"Otras Solicitudes\"", mensaje + " " + detalle); } await Task.WhenAll(sendTask); return(JsonExito()); //if (!helper.ValidaIngresoNovedad(id_cliente)) //{ // return JsonExitoMsg("Este registro se proceso pero conlleva un SNR ", "SNR"); //} //else //{ // return JsonExito(); //} } catch (Exception e) { return(JsonError("ocurrió un problema con su solicitud", e)); } }
public ActionResult Edit(Otra_solicitud model, string id_tipo, string fecha_novedad) { try { var tipo_nov = Convert.ToInt32(id_tipo); var id_reg = model.id_otro; var id_nov = _db.Otra_solicitud.FirstOrDefault(x => x.id_otro == id_reg).id_novedad; Novedad novedad = _db.Novedad.FirstOrDefault(x => x.id_novedad == id_nov); novedad.fecha_mod = DateTime.Now; novedad.estado = "P"; novedad.usuario_mod = SesionLogin().id; novedad.fecha_novedad = DateTime.Parse(fecha_novedad); model.Novedad = novedad; model.Usuario = _db.Usuario.FirstOrDefault(x => x.id == model.id_usu); if (model.cant_horas == null) { model.cant_horas = "0"; } Tipo_novedad tipo = _db.Tipo_novedad.FirstOrDefault(x => x.id_tipo == tipo_nov); string tipo_sol = tipo.nombre; Avisos aviso = _db.Avisos.FirstOrDefault(x => x.id_novedad == model.id_novedad); aviso.titulo_aviso = tipo_sol; aviso.desc_aviso = model.descripcion; aviso.fecha_aviso = novedad.fecha_novedad; aviso.id_cliente = SesionCliente().id_cliente; model.id_novedad = novedad.id_novedad; _db.Avisos.Attach(aviso); _db.Entry(aviso).State = System.Data.Entity.EntityState.Modified; _db.Set <Otra_solicitud>().AddOrUpdate(model); //_db.Otra_solicitud.Attach(model); //_db.Entry(model).State = System.Data.Entity.EntityState.Modified; _db.SaveChanges(); return(JsonExito()); } catch (Exception e) { return(JsonError("Ocurrió un problema con su solicitud", e)); } }