public async Task<ActionResult> DeleteConfirmed(string id)
        {
            if (ModelState.IsValid)
            {
                if (id == null)
                {
                    return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
                }

                var user = await UserManager.FindByIdAsync(id);
                if (user == null)
                {
                    return HttpNotFound();
                }

                #region 
                ReservationEntities db = new ReservationEntities();
                var ud = db.UserDetails.Where(x => x.UserId == user.Id).FirstOrDefault();
                db.UserDetails.Remove(ud);
                db.SaveChanges();
                #endregion

                var result = await UserManager.DeleteAsync(user);
                if (!result.Succeeded)
                {
                    ModelState.AddModelError("", result.Errors.First());
                    return View();
                }
                return RedirectToAction("Index");
            }
            return View();
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    #region Create the User Details object EVERY TIME a new user registers
                    UserDetail newUserDetails = new UserDetail()
                    {
                        UserId    = user.Id,
                        FirstName = model.FirstName,
                        LastName  = model.LastName,
                    };
                    ReservationEntities db = new ReservationEntities();
                    db.UserDetails.Add(newUserDetails);
                    db.SaveChanges();
                    #endregion

                    #region Add the new user to a role
                    UserManager.AddToRole(user.Id, "User");
                    #endregion

                    return(View("Login"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
        public IHttpActionResult AcceptCancelReservationProvider(Int32?localid, ReservationEntities model)
        {
            try
            {
                using (var ts = new TransactionScope())
                {
                    if (model == null)
                    {
                        response.Data    = null;
                        response.Error   = true;
                        response.Message = "Error, Empty model";
                        return(Content(HttpStatusCode.BadRequest, response));
                    }
                    else
                    {
                        Reservation reservation = new Reservation();

                        if (!localid.HasValue)
                        {
                            response.Data    = null;
                            response.Error   = true;
                            response.Message = "Error, local empty";
                            return(Content(HttpStatusCode.BadRequest, response));
                        }
                        else
                        {
                            reservation = context.Reservation.FirstOrDefault(x => x.LocalId == localid && x.ReservationId == model.ReservationId);

                            if (model.Status == ConstantHelpers.Status.ACCEPTED)
                            {
                                reservation.Status = ConstantHelpers.Status.ACCEPTED;
                            }
                            else if (model.Status == ConstantHelpers.Status.CANCEL)
                            {
                                reservation.Status = ConstantHelpers.Status.CANCEL;
                            }
                            else
                            {
                                reservation.Status = ConstantHelpers.Status.FINISH;
                            }
                            reservation.MessageProvider = model.MessageProvider;

                            context.SaveChanges();

                            response.Data    = null;
                            response.Error   = false;
                            response.Message = "Success, saved reservation";
                        }

                        ts.Complete();
                    }
                }
                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(Unauthorized());
            }
        }
        public IHttpActionResult UpdateReservationCustomer(Int32?customerid, ReservationEntities model)
        {
            try
            {
                using (var ts = new TransactionScope())
                {
                    if (model == null)
                    {
                        response.Data    = null;
                        response.Error   = true;
                        response.Message = "Error, Empty model";
                        return(Content(HttpStatusCode.BadRequest, response));
                    }
                    else
                    {
                        Reservation reservation = new Reservation();


                        if (model.ReservationId.HasValue && customerid.HasValue)
                        {
                            reservation = context.Reservation.FirstOrDefault(x => x.CustomerId == customerid && x.ReservationId == model.ReservationId);

                            reservation.CustomerId = customerid.Value;
                            reservation.LocalId    = model.LocalId;
                            reservation.ServiceId  = model.ServiceId;
                            reservation.Schedule   = model.Schedule;
                            reservation.Detail     = model.Detail;
                            reservation.Status     = ConstantHelpers.Status.ACTIVE;
                            reservation.CarId      = model.CarId;
                            reservation.Fecha      = model.Fecha;
                            reservation.Cotization = model.Cotización;

                            context.SaveChanges();

                            response.Data    = null;
                            response.Error   = false;
                            response.Message = "Success, updated service";
                        }
                        else
                        {
                            response.Data    = null;
                            response.Error   = true;
                            response.Message = "Error, Local or provider id empty";
                        }

                        ts.Complete();
                    }
                }
                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(Unauthorized());
            }
        }
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    UserManager.AddToRole(user.Id, "Customer");

                    //var code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
                    //var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    //await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking this link: <a href=\"" + callbackUrl + "\">link</a>");
                    //ViewBag.Link = callbackUrl;
                    //return View("DisplayEmail");

                    #region Adding UserDetails record & sending user to Log in
                    UserDetails newUserDetails = new UserDetails();
                    newUserDetails.UserId    = user.Id;//use ASPNet record's PK for our UserDetails PK
                    newUserDetails.FirstName = model.FirstName;
                    newUserDetails.LastName  = model.LastName;

                    ReservationEntities db = new ReservationEntities(); //access to db thru EF

                    db.UserDetails1.Add(newUserDetails);                //lining up this db transaction
                    db.SaveChanges();                                   //actually add the record (do all queued transactions)

                    return(View("Login"));                              //immediately go login with new account

                    #endregion
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Esempio n. 6
0
 public ReservationEntities Init()
 {
     return(dbContext ?? (dbContext = new ReservationEntities()));
 }