// POST: Presupuestos/Contratar //[HttpPost] //public ActionResult Contratar(int idPresupuesto) //{ // try // { // var servicio = new Servicios(); // servicio.Estado = "Contratado"; // servicio.Presupuestos.Id_Presupuesto = idPresupuesto; // db.Servicios.Add(servicio); // db.SaveChanges(); // return RedirectToAction("Index"); // } // catch // { // return RedirectToAction("Index"); // } //} // GET: Presupuestos/Create public ActionResult Create(int id) { var solicitud = db.Solicitudes.Where(x => x.Id_Solicitud == id).FirstOrDefault(); var presupuesto = new GeneralPresupuestoVM { Solicitud = solicitud, CrearPrespuesto = new CrearPresupuestoViewModels() }; var idServi = User.Identity.GetUserId(); var servi = db.Servis.Where(x => x.Id == idServi).FirstOrDefault(); var s = new ConcreteServi(servi); s.Attach(new ConcreteObserver()); //Changing state s.ServiState = DateTime.Now; //var obs = new ConcreteObserver(servi); //obs.Actualizacion(); if (servi.Estado == true) { return(View(presupuesto)); } else { return(RedirectToAction("Deudor", "CuentaCorriente")); } }
public ActionResult Create(GeneralPresupuestoVM viewModel) { if (ModelState.IsValid && User.Identity.GetUserId() != null) { var IdServi = User.Identity.GetUserId(); var servi = db.Servis.Where(x => x.Id == IdServi).FirstOrDefault(); var solicitud = db.Solicitudes.Find(viewModel.CrearPrespuesto.idSolicitud); var solMod = _solicitudesController.CambiaEstado(solicitud); try { // TODO: Add insert logic here var presupuesto = new Presupuestos { Estado = "Presupuestado", Hora = viewModel.CrearPrespuesto.hora, Fecha_Vencimiento = DateTime.Now.AddDays(3), Observacion = viewModel.CrearPrespuesto.observaciones, Precio = viewModel.CrearPrespuesto.precio, Solicitudes = solicitud, }; presupuesto.Servis.Add(servi); var userManager = System.Web.HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>(); userManager.SendEmail(solicitud.Usuarios.Id, "Respondieron a Tu Solicitud!", "Uno de nuestros capacitados Servis a realizado un presupuesto par tu Solicitud! /n Ingresa a ServiEnCasa para verlo. /Exitos!!!"); db.Entry(solMod).State = System.Data.Entity.EntityState.Modified; db.Presupuestos.Add(presupuesto); db.SaveChanges(); return(RedirectToAction("Index")); } catch { return(View()); } } else { return(View()); } return(RedirectToAction("Index")); }