예제 #1
0
        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));
            }
        }
예제 #2
0
        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));
            }
        }