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 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 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 }); } }