public int Insert(SolicitudAsignacionBienMuebleVob solicitud, int idEstado)
        {
            SolicitudAsignacionBienMueble sol = new SolicitudAsignacionBienMueble();

            sol.IdEstado = idEstado;
            sol.IdArea   = solicitud.IdArea;
            sol.NroSolicitudAsignacion   = solicitud.NroSolicitudAsignacion;
            sol.FechaSolicitudAsignacion = DateTime.Now;
            sol.IdUsuarioTrabajador      = solicitud.IdUsuarioTrabajador;
            sol.UsuRegistro   = "ADMIN";
            sol.FechaRegistro = DateTime.Now;
            context.SolicitudAsignacionBienMueble.Add(sol);
            context.SaveChanges();

            return(sol.IdSolicitudAsignacion);
        }
        public ActionResult Guardar(SolicitudAsignacionBienMuebleVob SolicitudAsignacion, int id = 0)
        {
            try
            {
                var solicitudNegocio      = new GCPSolicitudAsignacionBienMuebleNegocio();
                var asignacionBienNegocio = new GCPAsignacionBienMuebleNegocio();
                int nroSolicitud          = id;

                ICollection <AsignacionBienMuebleVob> asignaciones = GetCache <ICollection <AsignacionBienMuebleVob> >(SolicitudAsignacion.AsignacionBienMueble);
                SolicitudAsignacion.AsignacionBienMueble = asignaciones;

                int codigo;

                if (id > 0)
                {
                    SolicitudAsignacion.Estado          = new EstadoVob();
                    SolicitudAsignacion.Estado.IdEstado = 1;
                    SolicitudAsignacion.IdEstado        = 1; // Registrado

                    SolicitudAsignacion.Area        = new AreaVob();
                    SolicitudAsignacion.Area.IdArea = SolicitudAsignacion.IdArea;

                    solicitudNegocio.Update(SolicitudAsignacion);
                    codigo = SolicitudAsignacion.IdSolicitudAsignacion;

                    // Elimino las asignaciones
                    asignacionBienNegocio.DeleteAll(codigo);
                }
                else
                {
                    codigo = solicitudNegocio.Insert(SolicitudAsignacion);
                }

                foreach (AsignacionBienMuebleVob a in asignaciones)
                {
                    asignacionBienNegocio.Insert(a, codigo);
                }

                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                return(RedirectToAction("ErrorSistema", "Error", new { mensaje = ex.Message }));
            }
        }
示例#3
0
        public int Insert(SolicitudAsignacionBienMuebleVob solicitud)
        {
            var solAsigBienMuebleRepositorio           = new GCPSolicitudAsignacionBienMueble();
            GCPAsignacionBienMuebleNegocio asigNegocio = new GCPAsignacionBienMuebleNegocio();
            int idEstado = 2; // Estado "Pendiente" por defecto

            /*
             * GCP_RN16
             * Verifica que el usuario solicitante no tenga solicitudes pendientes
             * para el mismo producto, cantidad y Usuario Responsable
             */
            IList <AsignacionBienMuebleVob> asignaciones = asigNegocio.SelectAsignacionesPendientesXSolicitante(solicitud.IdUsuarioTrabajador);
            var cont = (from a in asignaciones
                        join s in solicitud.AsignacionBienMueble
                        on new { a.IdBienMueble, a.IdUsuarioTrabajador, a.Cantidad } equals new { s.IdBienMueble, s.IdUsuarioTrabajador, s.Cantidad }
                        select a).Count();

            if (cont > 0)
            {
                idEstado = 4; // Rechazado
            }
            return(solAsigBienMuebleRepositorio.Insert(solicitud, idEstado));
        }
        public bool Update(SolicitudAsignacionBienMuebleVob solicitud)
        {
            var sol = (from c in context.SolicitudAsignacionBienMueble
                       where c.IdSolicitudAsignacion == solicitud.IdSolicitudAsignacion
                       select c).First();

            //SolicitudAsignacionBienMueble sol = new SolicitudAsignacionBienMueble();
            //sol.IdSolicitudAsignacion = solicitud.IdSolicitudAsignacion;
            sol.IdEstado = solicitud.IdEstado;
            sol.IdArea   = solicitud.IdArea;
            //sol.NroSolicitudAsignacion = solicitud.NroSolicitudAsignacion;
            sol.IdUsuarioTrabajador = solicitud.IdUsuarioTrabajador;
            sol.UsuModifica         = "ADMIN";
            sol.FechaModifica       = DateTime.Now;
            //sol.Estado = new Estado();
            //sol.Estado.IdEstado = solicitud.Estado.IdEstado;
            //sol.Area = new Area();
            //sol.Area.IdArea = solicitud.Area.IdArea;

            context.SolicitudAsignacionBienMueble.Attach(sol);
            context.Entry(sol).State = EntityState.Modified;
            return(context.SaveChanges() != 0);
        }
示例#5
0
        public bool Update(SolicitudAsignacionBienMuebleVob solicitud)
        {
            var solAsigBienMuebleRepositorio = new GCPSolicitudAsignacionBienMueble();

            return(solAsigBienMuebleRepositorio.Update(solicitud));
        }
        //
        // GET: /SolicitudAsignacionBien/
        public ActionResult Index(string submit2, SolicitudAsignacionBienMuebleVob SolicitudAsignacion, AsignacionBienMuebleVob AsignacionBienMueble, int id = 0)
        {
            try
            {
                var areaNegocio       = new GCPAreaNegocio();
                var trabajadorNegocio = new GCPUsuarioTrabajadorNegocio();
                var bienNegocio       = new GCPBienMuebleNegocio();
                var solicitudNegocio  = new GCPSolicitudAsignacionBienMuebleNegocio();

                var solicitudAsignacionVM = new SolicitudAsignacionBienViewModel();

                SolicitudAsignacion.AsignacionBienMueble = new List <AsignacionBienMuebleVob>();

                //if (ModelState.IsValid)
                //{

                //if (SolicitudAsignacion.NroSolicitudAsignacion == 0 && id == 0)
                //    solicitudAsignacionVM.ListaSolicitudes = solicitudNegocio.SelectAll();
                //else
                //{
                //    SolicitudAsignacionBienMuebleVob solicitud = solicitudNegocio.Select(id > 0 && string.IsNullOrEmpty(submit2) ? id : SolicitudAsignacion.NroSolicitudAsignacion);

                //    if (solicitud != null)
                //    {
                //        List<SolicitudAsignacionBienMuebleVob> listaSolicitudes = new List<SolicitudAsignacionBienMuebleVob>();
                //        SolicitudAsignacion = solicitud;
                //        listaSolicitudes.Add(SolicitudAsignacion);
                //        solicitudAsignacionVM.ListaSolicitudes = listaSolicitudes;
                //    }
                //    else
                //        solicitudAsignacionVM.ListaSolicitudes = solicitudNegocio.SelectAll();
                //}

                solicitudAsignacionVM.ListaSolicitudes = solicitudNegocio.SelectAll();
                solicitudAsignacionVM.ListaBienes      = bienNegocio.SelectAll();
                solicitudAsignacionVM.ListaAreas       = areaNegocio.SelectAll();

                if (submit2 == "Buscar" || id > 0)
                {
                    SolicitudAsignacionBienMuebleVob solicitud = solicitudNegocio.Select(id > 0 && string.IsNullOrEmpty(submit2) ? id : SolicitudAsignacion.NroSolicitudAsignacion);
                    if (solicitud != null)
                    {
                        SolicitudAsignacion = solicitud;
                    }
                }

                if (submit2 == "Agregar")
                {
                    ICollection <AsignacionBienMuebleVob> asig = GetCache <ICollection <AsignacionBienMuebleVob> >(SolicitudAsignacion.AsignacionBienMueble);
                    if (asig.Count == 0)
                    {
                        SolicitudAsignacion.AsignacionBienMueble = new List <AsignacionBienMuebleVob>();
                    }
                    else
                    {
                        SolicitudAsignacion.AsignacionBienMueble = asig;
                    }

                    AsignacionBienMueble.BienMueble        = new BienMuebleVob();
                    AsignacionBienMueble.BienMueble.Nombre = solicitudAsignacionVM.ListaBienes.Where(w => w.IdBienMueble == AsignacionBienMueble.IdBienMueble).Select(x => x.Nombre).FirstOrDefault();

                    SolicitudAsignacion.AsignacionBienMueble.Add(AsignacionBienMueble);
                }

                SetCache <ICollection <AsignacionBienMuebleVob> >(SolicitudAsignacion.AsignacionBienMueble);

                solicitudAsignacionVM.ListaTrabajadores    = trabajadorNegocio.Select(SolicitudAsignacion.IdArea); //new List<UsuarioTrabajadorVob>();
                solicitudAsignacionVM.SolicitudAsignacion  = SolicitudAsignacion;
                solicitudAsignacionVM.AsignacionBienMueble = AsignacionBienMueble;

                return(View(solicitudAsignacionVM));
                //}
                //else
                //{
                //    return View(solicitudAsignacionVM);
                //}
            }
            catch (Exception ex)
            {
                return(RedirectToAction("ErrorSistema", "Error", new { mensaje = ex.Message }));
            }
        }