예제 #1
0
        public List <SelectListItem> Tramitadoras(int IdTramitadora)
        {
            var list = new List <SelectListItem>();

            try
            {
                using (var db = new EmpresaEntities1())
                {
                    var f = db.tbTramitadora.ToList();
                    foreach (var item in f)
                    {
                        if (item.id == IdTramitadora)
                        {
                            list.Add(new SelectListItem {
                                Value = item.id.ToString(), Text = item.Nombre, Selected = true
                            });
                        }
                        else
                        {
                            list.Add(new SelectListItem {
                                Value = item.id.ToString(), Text = item.Nombre, Selected = false
                            });
                        }
                    }
                }
                return(list);
            }
            catch (global::System.Exception)
            {
                throw;
            }
        }
예제 #2
0
        public string RetirarMatrial(int codigo, int idtrabajador, int cantidad)
        {
            try
            {
                using (var db = new EmpresaEntities1())
                {
                    var a = (from d in db.tbMateriales
                             join f in db.tbMaterialesAsignados on d.id equals f.idMaterial
                             where d.Codigo == codigo && f.idTrabajador == idtrabajador
                             select f).FirstOrDefault();
                    var b = (from d in db.tbMateriales
                             join f in db.tbMaterialesAsignados on d.id equals f.idMaterial
                             where d.Codigo == codigo && f.idTrabajador == null
                             select f).FirstOrDefault();

                    a.Cantidad       -= cantidad;
                    b.Cantidad       += cantidad;
                    a.Fecha           = DateTime.Now.Date;
                    db.Entry(a).State = System.Data.Entity.EntityState.Modified;
                    db.Entry(b).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
                return("Se asignó material correctamente");
            }
            catch (Exception)
            {
                return("Problemas al retirar material");

                throw;
            }
        }
예제 #3
0
        public List <SelectListItem> ListTrabajadores(int?idSelected)
        {
            try
            {
                List <SelectListItem> list = new List <SelectListItem>();
                using (var db = new EmpresaEntities1())
                {
                    var trabaja = db.tbTrabajador.ToList();

                    foreach (var item in trabaja)
                    {
                        if (item.id == idSelected)
                        {
                            list.Add(new SelectListItem {
                                Value = item.id.ToString(), Text = (item.Nombre + " " + item.Apellido), Selected = true
                            });
                        }
                        else
                        {
                            list.Add(new SelectListItem {
                                Value = item.id.ToString(), Text = (item.Nombre + " " + item.Apellido), Selected = false
                            });
                        }
                    }
                }
                return(list);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #4
0
        public List <TrabajadorMaterialViewModels> DistribucionMaterial(int codigo)
        {
            List <TrabajadorMaterialViewModels> a;

            try
            {
                using (var db = new EmpresaEntities1())
                {
                    a = (from d in db.tbMateriales
                         join f in db.tbMaterialesAsignados on d.id equals f.idMaterial
                         join j in db.tbTrabajador on f.idTrabajador equals j.id
                         where d.Codigo == codigo
                         orderby j.Nombre
                         select new TrabajadorMaterialViewModels {
                        Nombre = j.Nombre,
                        Cantidad = f.Cantidad
                    }).ToList();
                }
            }
            catch
            {
                throw;
            }
            return(a);
        }
예제 #5
0
 public List <SelectListItem> listaEstados(int idSelected)
 {
     try
     {
         var list = new List <SelectListItem>();
         using (var db = new EmpresaEntities1())
         {
             var h = db.tbEstado.ToList();
             for (int i = idSelected - 2; i < idSelected + 1; i++)
             {
                 if (i > -1 && h.ElementAt(i).id == idSelected)
                 {
                     list.Add(new SelectListItem {
                         Value = h.ElementAt(i).id.ToString(), Text = h.ElementAt(i).Estado, Selected = true
                     });
                 }
                 else
                 {
                     if (i > -1 && i < h.Count)
                     {
                         list.Add(new SelectListItem {
                             Value = h.ElementAt(i).id.ToString(), Text = h.ElementAt(i).Estado, Selected = false
                         });
                     }
                 }
             }
             return(list);
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #6
0
 public string AddMateriales(AddMatrialViewModels a)
 {
     try
     {
         using (var db = new EmpresaEntities1())
         {
             tbMaterialesAsignados matAsig = new tbMaterialesAsignados();
             tbMateriales          mat     = new tbMateriales();
             mat.Codigo      = a.Codigo;
             mat.Descripcion = a.Descripcion;
             mat.Nombre      = a.Nombre;
             db.tbMateriales.Add(mat);
             db.SaveChanges();
             matAsig.Fecha      = DateTime.Now.Date;
             matAsig.Cantidad   = a.Cantidad;
             matAsig.idMaterial = db.tbMateriales.Where(f => f.Codigo == a.Codigo).Select(f => f.id).FirstOrDefault();
             db.tbMaterialesAsignados.Add(matAsig);
             db.SaveChanges();
             return("Se adicionó un nuevo material correctamente");
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #7
0
        public ServiciosViewModels Detalles(string id, string rutaserver)
        {
            try
            {
                rutaserver = Path.Combine(rutaserver, "Files/Ejemplo.pdf");
                byte[] documento = null;

                List <ServiciosViewModels> d = getListaServicios(id, "", "", "", "");
                using (var db = new EmpresaEntities1())
                {
                    documento = (from s in db.tbServicio where s.idReporte == id select s.Documento).FirstOrDefault();
                }
                if (!System.IO.File.Exists(rutaserver))
                {
                    System.IO.File.Create(rutaserver);
                }
                System.IO.File.GetAccessControl(rutaserver);
                System.IO.File.WriteAllBytes(rutaserver, documento);
                return(d.First());
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #8
0
 public void DellServicio(string idReporte)
 {
     using (var db = new EmpresaEntities1())
     {
         var a = (from d in db.tbServicio where d.idReporte == idReporte select d).FirstOrDefault();
         db.tbServicio.Remove(a);
         db.SaveChanges();
     }
 }
예제 #9
0
        public List <MaterialViewModels> lstMateriales(string codigo, string nombreMaterial)
        {
            List <MaterialViewModels> lst = new List <MaterialViewModels>();

            try
            {
                using (var db = new EmpresaEntities1())
                {
                    lst = (from d in db.tbMaterialesAsignados

                           group d by d.idMaterial into fp
                           select new MaterialViewModels
                    {
                        Codigo = (db.tbMateriales.Where(f => f.id == fp.Key).Select(f => f.Codigo)).FirstOrDefault(),
                        Nombre = (db.tbMateriales.Where(f => f.id == fp.Key).Select(f => f.Nombre)).FirstOrDefault(),
                        CantDisponible = fp.Where(x => x.idTrabajador == null).Select(x => x.Cantidad).FirstOrDefault() + 0,
                        Descripcion = (db.tbMateriales.Where(f => f.id == fp.Key).Select(f => f.Descripcion)).FirstOrDefault(),

                        CantTotal = fp.Sum(x => x.Cantidad)
                    }

                           ).ToList();
                }

                if (string.IsNullOrEmpty(codigo))
                {
                    codigo = "0";
                }
                int Id = int.Parse(codigo);
                if (string.IsNullOrEmpty(nombreMaterial))
                {
                    nombreMaterial = "";
                }


                if (Id != 0 || nombreMaterial != "")
                {
                    if (Id != 0)
                    {
                        lst = (from d in lst where d.Codigo == Id select d).ToList();
                        return(lst);
                    }
                    if (nombreMaterial != "")
                    {
                        lst = (from d in lst where d.Nombre.ToLower().Contains(nombreMaterial.ToLower()) || d.Descripcion.ToLower().Contains(nombreMaterial.ToLower()) select d).ToList();
                        return(lst);
                    }
                }
                return(lst);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #10
0
        public void CreateServ(AddServicioViewModels a, string rutaserver)
        {
            string archivo = a.idReporte + "-" + (DateTime.Now.Date).ToString("yyyy-MM-dd") + ".pdf";

            Stream myStream = a.RutaDocumento.InputStream;


            byte[] documento = null;

            using (MemoryStream ms = new MemoryStream())
            {
                myStream.CopyTo(ms);
                documento = ms.ToArray();
            }
            try
            { int idTram = int.Parse(a.idTramitadora);
              if (a.IdTrabajadorSII != null)
              {
                  int idestad = int.Parse(a.idEstadoSII);
              }

              using (var db = new EmpresaEntities1())
              {
                  var serv = new tbServicio();
                  serv.idReporte = a.idReporte;
                  if (a.IdTrabajadorSII != null)
                  {
                      serv.idTrabajador = int.Parse(a.IdTrabajadorSII);
                  }

                  serv.Documento = documento;

                  serv.idEstado = int.Parse(a.idEstadoSII);

                  serv.idTramitadora = int.Parse(a.idTramitadora);
                  serv.FAlta         = DateTime.Now;
                  serv.Vitacora      = "Sin Asignar:" + DateTime.Now.Date.ToString("yyyy-MM-dd") + "\n";
                  if (a.idEstadoSII == "2")
                  {
                      serv.FModifEstado = DateTime.Now.Date;
                      serv.Vitacora    += "Asignado:" + DateTime.Now.Date.ToString("yyyy-MM-dd") + "\n";
                  }
                  serv.Descripcion = a.Descripcion;
                  db.tbServicio.Add(serv);
                  db.SaveChanges();
              } }
            catch (Exception e)
            {
                throw e;
            }
        }
예제 #11
0
        protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            bool existe = false;

            using (var db = new EmpresaEntities1())
            {
                switch (validationContext.MemberName)
                {
                case "idReporte":
                    var f = db.tbServicio.Where(d => d.idReporte == value.ToString()).FirstOrDefault();
                    if (f != null)
                    {
                        existe = true;
                    }
                    break;

                case "NIF":
                    if (db.tbTrabajador.Where(d => d.NIF == value.ToString()).FirstOrDefault() != null)
                    {
                        existe = true;
                    }
                    break;

                case "Nombre":
                    if (db.tbTramitadora.Where(d => d.Nombre == value.ToString()).FirstOrDefault() != null)
                    {
                        existe = true;
                    }
                    break;

                case "Estado1":
                    if (db.tbEstado.Where(d => d.Estado == value.ToString()).FirstOrDefault() != null)
                    {
                        existe = true;
                    }
                    break;

                default:
                    existe = false;
                    break;
                }
            }
            if (existe)
            {
                return(new ValidationResult("Ya Existe"));
            }
            return(ValidationResult.Success);
        }
예제 #12
0
 public string FindNombreTrabajador(int?idTrabajador)
 {
     try
     {
         string a = "";
         using (var db = new EmpresaEntities1())
         {
             a = db.tbTrabajador.Find(idTrabajador).Nombre;
         }
         return(a);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #13
0
 public string FindNombreEstado(int idEstado)
 {
     try
     {
         string a = "";
         using (var db = new EmpresaEntities1())
         {
             a = db.tbEstado.Find(idEstado).Estado;
         }
         return(a);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #14
0
 public int FindIdTrabajador(string Nombre)
 {
     try
     {
         int a = 0;
         using (var db = new EmpresaEntities1())
         {
             a = db.tbTrabajador.Where(d => d.Nombre == Nombre)
                 .Select(d => d.id).FirstOrDefault();
         }
         return(a);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #15
0
 public int FindIdEstado(string Estado)
 {
     try
     {
         int a = 0;
         using (var db = new EmpresaEntities1())
         {
             a = db.tbEstado.Where(d => d.Estado == Estado)
                 .Select(d => d.id).FirstOrDefault();
         }
         return(a);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #16
0
        public string AsinarMatrial(int codigo, int trabajador, int cantidad)
        {
            tbMaterialesAsignados g;

            try
            {
                using (var db = new EmpresaEntities1())
                {
                    var a = (from d in db.tbMateriales
                             join f in db.tbMaterialesAsignados on d.id equals f.idMaterial
                             where d.Codigo == codigo && f.idTrabajador == null
                             select f).FirstOrDefault();
                    var b = from d in db.tbMateriales
                            join f in db.tbMaterialesAsignados on d.id equals f.idMaterial
                            where d.Codigo == codigo && f.idTrabajador == trabajador
                            select f;
                    if (b.Count() > 0)
                    {
                        g           = b.FirstOrDefault();
                        g.Cantidad += cantidad;
                    }
                    else
                    {
                        g              = new tbMaterialesAsignados();
                        g.Cantidad     = cantidad;
                        g.Fecha        = DateTime.Now.Date;
                        g.idMaterial   = a.idMaterial;
                        g.idTrabajador = trabajador;

                        db.tbMaterialesAsignados.Add(g);
                    }
                    a.Cantidad       -= cantidad;
                    a.Fecha           = DateTime.Now.Date;
                    db.Entry(a).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
                return("Se asignó material correctamente");
            }
            catch (Exception)
            {
                return("Problemas al asignar material");

                throw;
            }
        }
예제 #17
0
        public string MaterialAsignado(int idTRabajador, int codigo)
        {
            int a = -1;

            try
            {
                using (var db = new EmpresaEntities1())
                {
                    a = (from d in db.tbMateriales
                         join f in db.tbMaterialesAsignados on d.id equals f.idMaterial
                         where d.Codigo == codigo && f.idTrabajador == idTRabajador
                         select f.Cantidad).FirstOrDefault();
                }
            }
            catch (Exception)
            {
                throw;
            }
            return(a.ToString());
        }
예제 #18
0
        public List <SelectListItem> listaEstados()
        {
            try
            {
                var list = new List <SelectListItem>();
                using (var db = new EmpresaEntities1())
                {
                    foreach (var item in db.tbEstado)
                    {
                        list.Add(new SelectListItem {
                            Value = item.id.ToString(), Text = item.Estado
                        });
                    }

                    return(list);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #19
0
 public string AddUnidadesMateriales(MaterialViewModels material, int cantidad)
 {
     try
     {
         using (var db = new EmpresaEntities1())
         {
             var a = (from d in db.tbMateriales
                      join f in db.tbMaterialesAsignados on d.id equals f.idMaterial
                      where d.Codigo == material.Codigo && f.idTrabajador == null
                      select f).FirstOrDefault();
             a.Cantidad       += cantidad;
             a.Fecha           = DateTime.Now.Date;
             db.Entry(a).State = System.Data.Entity.EntityState.Modified;
             db.SaveChanges();
             return("Se adicionó material correctamente");
         }
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #20
0
        public List <SelectListItem> ListTrabajadores()
        {
            try
            {
                //var asd;
                List <SelectListItem> list = new List <SelectListItem>();
                using (var db = new EmpresaEntities1())
                {
                    var trabaja = db.tbTrabajador.ToList();

                    foreach (var item in trabaja)
                    {
                        list.Add(new SelectListItem {
                            Value = item.id.ToString(), Text = (item.Nombre + " " + item.Apellido)
                        });
                    }
                }
                return(list);
            }
            catch (Exception)
            {
                throw;
            }
        }
예제 #21
0
 public EditarServViewModels getServicio(string IdReporte)
 {
     try
     {
         EditarServViewModels a;
         using (var db = new EmpresaEntities1())
         {
             a = (from d in db.tbServicio
                  where d.idReporte == IdReporte
                  select new EditarServViewModels
             {
                 idEstado = d.idEstado,
                 idReporte = d.idReporte,
                 idTrabajador = d.idTrabajador,
                 Descripcion = d.Descripcion
             }).FirstOrDefault();
         }
         return(a);
     }
     catch (Exception)
     {
         throw;
     }
 }
예제 #22
0
        public List <ServiciosViewModels> getListaServicios(string IdReporte, string Trabajadores, string Estado, string FAlta, string Tramitadora)
        {
            int Estado1 = 0;
            List <ServiciosViewModels> list;

            List <ServiciosViewModels> listSalida = new List <ServiciosViewModels>();

            using (var db = new EmpresaEntities1())
            {
                //var query = from person in people
                //            join pet in pets on person equals pet.Owner into gj
                //            from subpet in gj.DefaultIfEmpty()
                //            select new { person.FirstName, PetName = subpet?.Name ?? String.Empty };


                list = (from k in db.tbServicio
                        join h in db.tbTrabajador on k.idTrabajador equals h.id into gp from temp in gp.DefaultIfEmpty()
                        join l in db.tbEstado on k.idEstado equals l.id
                        join f in db.tbTramitadora on k.idTramitadora equals f.id
                        select new ServiciosViewModels
                {
                    Id = k.id,
                    IdEstado = l.id,
                    IdReporte = k.idReporte,
                    IdTrabajador = temp.id,
                    TextTrabajador = temp.Nombre,
                    TextEstado = l.Estado,
                    FAlta = k.FAlta,
                    FModifEstado = k.FModifEstado,
                    Descripcion = k.Descripcion,
                    TextTramitadora = f.Nombre,
                    Vitacora = k.Vitacora,
                    idTramitadora = k.idTramitadora
                }).ToList();
            }
            if (string.IsNullOrEmpty(IdReporte))
            {
                IdReporte = "";
            }

            if (string.IsNullOrEmpty(Trabajadores))
            {
                Trabajadores = "0";
            }

            int Trabajadores1 = Convert.ToInt32(Trabajadores);

            if (string.IsNullOrEmpty(Estado))
            {
                Estado = "0";
            }
            Estado1 = int.Parse(Estado);

            if (string.IsNullOrEmpty(FAlta))
            {
                FAlta = null;
            }

            if (string.IsNullOrEmpty(Tramitadora))
            {
                Tramitadora = "0";
            }
            int Tramitadora1 = int.Parse(Tramitadora);

            if (list.Count() > 0)
            {
                if ((IdReporte == "") && (Estado1 == 0) && (Trabajadores1 == 0) && (FAlta == null) && (Tramitadora1 == 0))
                {
                    listSalida = list;

                    return(listSalida);
                }
                else
                {
                    if (IdReporte != "")
                    {
                        var a = (list.Where(ñ => ñ.IdReporte == IdReporte).Select(ñ => ñ)).FirstOrDefault();
                        if (a != null)
                        {
                            listSalida.Add(a);
                        }

                        return(listSalida);
                    }
                    listSalida = list;
                    if (Estado1 != 0)
                    {
                        var a = listSalida.Where(ñ => ñ.IdEstado == Estado1).Select(ñ => ñ).ToList();

                        listSalida = a;
                    }
                    if (Trabajadores1 != 0)
                    {
                        var a = listSalida.Where(ñ => ñ.IdTrabajador == Trabajadores1).Select(ñ => ñ).ToList();
                        listSalida = a;
                    }
                    if (FAlta != null)
                    {
                        var a = listSalida.Where(ñ => ñ.FAlta == Convert.ToDateTime(FAlta)).Select(ñ => ñ).ToList();
                        listSalida = a;
                    }
                    if (Tramitadora1 != 0)
                    {
                        var a = listSalida.Where(ñ => ñ.idTramitadora == Tramitadora1).Select(ñ => ñ).ToList();
                        listSalida = a;
                    }

                    return(listSalida);
                }
            }


            return(list);
        }
예제 #23
0
        public void UpdateServicio(EditarServViewModels a)
        {
            try
            {
                string vitacora = "";
                using (var db = new EmpresaEntities1())
                {
                    var Serv = (from d in db.tbServicio
                                where d.idReporte == a.idReporte
                                select d).FirstOrDefault();


                    Serv.Descripcion = a.Descripcion;

                    switch (a.idEstado)
                    {
                    case 1: vitacora = "Sin Asignar";
                        break;

                    case 2:
                        vitacora = "Asignado";
                        break;

                    case 3:
                        vitacora = "Realizado";
                        break;

                    case 4:
                        vitacora = "Reclamacion";
                        break;

                    case 5:
                        vitacora = "Pendiente";
                        break;

                    default:
                        break;
                    }
                    if (a.idEstado != Serv.idEstado)
                    {
                        Serv.FModifEstado = DateTime.Now.Date;
                        Serv.Vitacora    += vitacora + ":" + DateTime.Now.Date.ToString("yyyy-MM-dd") + "\n";
                    }
                    if (a.idTrabajador != Serv.idTrabajador)
                    {
                        if (a.idTrabajador != null)
                        {
                            var ob = new DATrabajador();
                            vitacora          = "Trabajador:" + ob.FindNombreTrabajador(a.idTrabajador);
                            Serv.FModifEstado = DateTime.Now.Date;
                            Serv.Vitacora    += vitacora + ":" + DateTime.Now.Date.ToString("yyyy-MM-dd") + "\n";
                        }
                    }

                    Serv.idEstado        = a.idEstado;
                    Serv.idTrabajador    = a.idTrabajador;
                    db.Entry(Serv).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }