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