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)); } }
public async System.Threading.Tasks.Task <ActionResult> Create(Otra_solicitud model, HttpPostedFileBase[] files /*, string[] documento*/, int id_cliente) { try { Novedad novedad = new Novedad(); novedad.usuario_mod = SesionLogin().id; novedad.id_cliente = id_cliente; novedad.fecha_mod = DateTime.Now; novedad.tipo_nov = 1016; novedad.fecha_novedad = DateTime.Now; novedad.estado = "P"; model.Novedad = novedad; model.id_usu = SesionLogin().id; model.id_novedad = novedad.id_novedad; model.descripcion = ""; model.cant_horas = ""; _db.Otra_solicitud.Add(model); var cliente = _db.Cliente.FirstOrDefault(x => x.id_cliente == id_cliente); var documento = _db.parametros.FirstOrDefault(x => x.valor == "documotrasoli").valor; int i = 0; foreach (var item in files)// TODO { if (item == null) { break; } else { Documento documento_ = new Documento(); documento_.Novedad = novedad; documento_.Cliente = _db.Cliente.FirstOrDefault(x => x.id_cliente == novedad.id_cliente); documento_.id_novedad = model.id_novedad; documento_.id_usu = SesionLogin().id; documento_.categoria = documento; documento_.Novedad.Tipo_novedad = _db.Tipo_novedad.FirstOrDefault(x => x.id_tipo == novedad.tipo_nov); try { helper.createFile(item, documento_); } catch (Exception e) { App_Start.ErrorService.LogError(e); } i++; } } var usuarios_payroll = (from u in _db.Usuario join uc in _db.Usuario_Cliente on u.id equals uc.id_usu where uc.id_cliente == id_cliente && u.id_tipo_usu == 2 && u.estado == 1 select u).ToList(); if (!usuarios_payroll.Any()) { throw new Exception(App_GlobalResources.Pay_Lenguaje.no_hay_contraparte); } List <Task> sendTask = new List <Task>(); foreach (var item in usuarios_payroll) { //Email ok string mensaje_payroll = "Estimado(a) " + item.Nom_usu + ",</br></br> Te informamos que con fecha " + novedad.fecha_novedad.ToLongDateString() + "," + SesionLogin().Nom_usu + " ha enviado información para considerar dentro del proceso de remuneraciones para " + cliente.nom_emp + "</br></br>Saludos y gracias, </br></br>Este correo es informativo, favor no responder a esta dirección de correo, ya que no se encuentra habilitada para recibir mensajes. </br></br>"; string detalle_payroll = ""; //string detalle_payroll = "</br></br>Dear Mr./ Ms. " + item.Nom_usu + " </br></br>There has been a uploaded to the module, about the news of the month, from the client " + cliente.nom_emp + ". </br> With date of: " + novedad.fecha_novedad + " </br></br>We appreciate that you can review. </br></br></br></br>Greetings and thank you, </br></br>This email is informative, please do not reply to this email address, as it´s not able to receive messages. </br></br>"; await Helper.SendEmail("*****@*****.**", item.email, cliente.Nom_cor_emp + " | Envío de Información", mensaje_payroll, detalle_payroll); helper.registraEmail(item.id, "*****@*****.**", item.email, cliente.Nom_cor_emp + " | Envío de Información", mensaje_payroll + " " + detalle_payroll); } _db.SaveChanges(); return(JsonExito()); } catch (Exception err) { return(JsonError(err.Message, err)); } }