Esempio n. 1
0
        // 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"));
            }
        }
Esempio n. 2
0
        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"));
        }