示例#1
0
        public ActionResult OrderReplacementService(int id)
        {
            ViewBag.ProveedorId = new SelectList(db.Proveedores, "ProveedorId", "Nombre");
            var odt   = db.OrdenesDeTrabajo.Find(id);
            var model = new SolicitudRepuestoServicio
            {
                OrdenDeTrabajoId = id,
                OrdenDeTrabajo   = odt,
                FechaInicio      = DateTime.Now,
                Repuesto         = new Repuesto(),
            };

            return(View(model));
        }
示例#2
0
        public async Task <ActionResult> OrderReplacementService(SolicitudRepuestoServicio solicitud)
        {
            //SSOHelper.Authenticate();
            //if (SSOHelper.CurrentIdentity == null)
            //{
            //    string ssoUrl = SSOHelper.Configuration["SSO_URL"] as string;
            //    Response.Redirect(ssoUrl + "/Login.aspx");
            //}

            var orden = db.OrdenesDeTrabajo.Find(solicitud.OrdenDeTrabajoId);

            solicitud.OrdenDeTrabajo = orden;

            if (solicitud.Repuesto.Codigo != null && solicitud.Repuesto.Nombre != null)
            {
                var repuesto = await db.Repuestos.Where(r => r.Codigo == solicitud.Repuesto.Codigo).SingleOrDefaultAsync();

                if (repuesto != null)
                {
                    solicitud.Repuesto = repuesto;
                }
            }
            else
            {
                solicitud.Repuesto = null;
            }

            //Es necesario que haya algun dato para guardar la solicitud
            if (solicitud.ProveedorId != null ||
                solicitud.Comentarios != null ||
                solicitud.Repuesto != null)
            {
                solicitud.UsuarioInicio = (SSOHelper.CurrentIdentity != null ? SSOHelper.CurrentIdentity.Fullname : "Usuario Anónimo");
                db.SolicitudesRepuestosServicios.Add(solicitud);
                orden.Estado = OrdenDeTrabajoEstado.EsperaRepuesto;

                db.Entry(orden).State = EntityState.Modified;

                await db.SaveChangesAsync();

                return(RedirectToAction("Details", orden.WebController(), new { id = solicitud.OrdenDeTrabajoId }));
            }

            ModelState.AddModelError("", "Para guardar la solicitud debe registrarse el proveedor, las observaciones o el repuesto.");
            ViewBag.ProveedorId = new SelectList(db.Proveedores, "ProveedorId", "Nombre", solicitud.ProveedorId);
            return(View(solicitud));
        }