public ActionResult Registration(string[] Seats, VisitorVM model = null) { ModelState.Clear(); List <string> GetSeats = Seats.ToList(); string s = ""; foreach (string seat in GetSeats) { s += seat + ","; } model.ProjectionId = GetSeats[0]; GetSeats.RemoveAt(0); if (Session["UserID"] != null) { return(RedirectToAction("Index", "RegisteredVisitor", new { seats = s, ProjectionId = model.ProjectionId })); } if (contextLocal == null) { return(Redirect(Url.Content("~/"))); } if (model == null) { model = new VisitorVM(); } model.Seats = GetSeats; return(View("Registration", model)); }
public ActionResult SubmitVisitors(VisitorVM model, string Seats) { List <string> AllSeats = Seats.Trim(',').Split(',').ToList(); if (contextLocal == null) { return(Redirect(Url.Content("~/"))); } if (!ModelState.IsValid) { return(View("Registration", model)); } // Create new activation code model.ActivationCode = rng.Next(1000, 10000).ToString(); model.Seats = AllSeats; // Add the phone number and activation code to the current session Session["ActivationCode"] = model.ActivationCode; Session["PhoneNumber"] = model.PhoneNumber; // Send SMS with the activation code for phone number verification TwilioHelper.SendSMS("+" + model.PhoneNumber, model.ActivationCode); return(View("RegistrationActivation", model)); }
public JsonResult UpdateVisitor(VisitorVM ObjUpdate) { MsgUnit Msg = new MsgUnit(); try { var userId = User.Identity.GetUserId(); var UserInfo = _unitOfWork.User.GetMyInfo(userId); var ObjVisitor = new Visitor(); ObjVisitor.VisitorCode = ObjUpdate.VisitorCode; ObjVisitor.VisitorName = ObjUpdate.VisitorName; ObjVisitor.Phone1 = ObjUpdate.Phone1; ObjVisitor.Email = ObjUpdate.Email; ObjVisitor.Address = ObjUpdate.Address; ObjVisitor.NationalityCode = ObjUpdate.NationalityCode; ObjVisitor.SourceCode = ObjUpdate.SourceCode; ObjVisitor.JobCode = ObjUpdate.JobCode; ObjVisitor.GenderCode = ObjUpdate.GenderCode; ObjVisitor.Note = ObjUpdate.Note; ObjVisitor.Interseted = ObjUpdate.Interseted; ObjVisitor.InsDateTime = DateTime.Now; ObjVisitor.InsUserID = userId; ObjVisitor.CompanyID = UserInfo.fCompanyId; ObjVisitor.BirthDate = ObjUpdate.BirthDate; ObjVisitor.VistDate = ObjUpdate.VistDate; string sBirthDate = ObjUpdate.BirthDate.Day.ToString() + ObjUpdate.BirthDate.Month.ToString() + ObjUpdate.BirthDate.Year.ToString(); ObjVisitor.BirthDateInt = int.Parse(sBirthDate); string sVistDate = ObjUpdate.VistDate.Day.ToString() + ObjUpdate.VistDate.Month.ToString() + ObjUpdate.VistDate.Year.ToString(); ObjVisitor.VistDateInt = int.Parse(sVistDate); if (!ModelState.IsValid) { string Err = " "; var errors = ModelState.Values.SelectMany(v => v.Errors); foreach (ModelError error in errors) { Err = Err + error.ErrorMessage + " * "; } Msg.Msg = Resources.Resource.SomthingWentWrong + " : " + Err; Msg.Code = 0; return(Json(Msg, JsonRequestBehavior.AllowGet)); } _unitOfWork.Visitor.Update(ObjVisitor); _unitOfWork.Complete(); Msg.Code = 1; Msg.Msg = Resources.Resource.UpdatedSuccessfully; return(Json(Msg, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Msg.Msg = Resources.Resource.SomthingWentWrong + " : " + ex.Message.ToString(); Msg.Code = 0; return(Json(Msg, JsonRequestBehavior.AllowGet)); } }
public ActionResult Save() { var userId = User.Identity.GetUserId(); var UserInfo = _unitOfWork.User.GetMyInfo(userId); var VisitorObj = new VisitorVM(); VisitorObj.Nationality = _unitOfWork.NativeSql.GetAllNationalities(UserInfo.fCompanyId); VisitorObj.Source = _unitOfWork.NativeSql.GetAllSources(UserInfo.fCompanyId); VisitorObj.Job = _unitOfWork.NativeSql.GetAllJob(UserInfo.fCompanyId); VisitorObj.BirthDate = DateTime.Now; VisitorObj.VistDate = DateTime.Now; VisitorObj.VisitorCode = _unitOfWork.Visitor.GetMaxSerial(UserInfo.fCompanyId); return(View(VisitorObj)); }
public ActionResult Index() { var userId = User.Identity.GetUserId(); var UserInfo = _unitOfWork.User.GetMyInfo(userId); int year = DateTime.Now.Year; var VisitorObj = new VisitorVM { Nationality = _unitOfWork.NativeSql.GetAllNationalities(UserInfo.fCompanyId), Source = _unitOfWork.NativeSql.GetAllSources(UserInfo.fCompanyId), Job = _unitOfWork.NativeSql.GetAllJob(UserInfo.fCompanyId), FromVistDate = new DateTime(year, 1, 1), ToDate = new DateTime(year, 12, 31) }; return(View(VisitorObj)); }
public JsonResult GetAllVisitor(VisitorVM Obj) { try { var userId = User.Identity.GetUserId(); var UserInfo = _unitOfWork.User.GetMyInfo(userId); var AllVisitor = _unitOfWork.NativeSql.GetAllVisitor(UserInfo.fCompanyId, Obj.FromVistDate, Obj.ToDate); if (!String.IsNullOrEmpty(Obj.VisitorName)) { AllVisitor = AllVisitor.Where(m => m.VisitorName.Contains(Obj.VisitorName)).ToList(); } if (!String.IsNullOrEmpty(Obj.Phone1)) { AllVisitor = AllVisitor.Where(m => m.Phone1.Contains(Obj.Phone1)).ToList(); } if (Obj.GenderCode != 0) { AllVisitor = AllVisitor.Where(m => m.GenderCode == Obj.GenderCode).ToList(); } if (Obj.NationalityCode != 0) { AllVisitor = AllVisitor.Where(m => m.NationalityCode == Obj.NationalityCode).ToList(); } if (Obj.SourceCode != 0) { AllVisitor = AllVisitor.Where(m => m.SourceCode == Obj.SourceCode).ToList(); } if (Obj.JobCode != 0) { AllVisitor = AllVisitor.Where(m => m.JobCode == Obj.JobCode).ToList(); } if (Obj.IntersetedCaseInt != 0) { AllVisitor = AllVisitor.Where(m => m.Interseted == Convert.ToBoolean(Obj.IntersetedCaseInt - 1)).ToList(); } return(Json(AllVisitor, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { ViewBag.Error = ex.Message.ToString(); return(Json(new List <VisitorVM>(), JsonRequestBehavior.AllowGet)); } }
public ActionResult Delete(int id) { try { if (id != 0) { var userId = User.Identity.GetUserId(); var UserInfo = _unitOfWork.User.GetUserByID(userId); if (UserInfo == null) { RedirectToAction("", ""); } var Obj = _unitOfWork.Visitor.GetVisitorByID(UserInfo.fCompanyId, id); var VisitorObj = new VisitorVM { }; VisitorObj.Nationality = _unitOfWork.NativeSql.GetAllNationalities(UserInfo.fCompanyId); VisitorObj.Source = _unitOfWork.NativeSql.GetAllSources(UserInfo.fCompanyId); VisitorObj.Job = _unitOfWork.NativeSql.GetAllJob(UserInfo.fCompanyId); VisitorObj.VisitorCode = Obj.VisitorCode; VisitorObj.VisitorName = Obj.VisitorName; VisitorObj.BirthDate = Obj.BirthDate; VisitorObj.VistDate = Obj.VistDate; VisitorObj.Email = Obj.Email; VisitorObj.Phone1 = Obj.Phone1; VisitorObj.Note = Obj.Note; VisitorObj.Interseted = Obj.Interseted; VisitorObj.Address = Obj.Address; VisitorObj.NationalityCode = Obj.NationalityCode; VisitorObj.SourceCode = Obj.SourceCode; VisitorObj.JobCode = Obj.JobCode; VisitorObj.GenderCode = Obj.GenderCode; return(View("Delete", VisitorObj)); } return(View("Delete", new VisitorVM())); } catch (Exception ex) { ViewBag.Error = ex.Message.ToString(); return(View("Error")); } }
public JsonResult DeleteVisitor(VisitorVM ObjDelete) { MsgUnit Msg = new MsgUnit(); try { var userId = User.Identity.GetUserId(); var UserInfo = _unitOfWork.User.GetMyInfo(userId); var ObjVisitor = new Visitor(); ObjVisitor.VisitorCode = ObjDelete.VisitorCode; ObjVisitor.CompanyID = UserInfo.fCompanyId; if (!ModelState.IsValid) { string Err = " "; var errors = ModelState.Values.SelectMany(v => v.Errors); foreach (ModelError error in errors) { Err = Err + error.ErrorMessage + " * "; } Msg.Msg = Resources.Resource.SomthingWentWrong + " : " + Err; Msg.Code = 0; return(Json(Msg, JsonRequestBehavior.AllowGet)); } _unitOfWork.Visitor.Delete(ObjVisitor); _unitOfWork.Complete(); Msg.Code = 1; Msg.Msg = Resources.Resource.DeletedSuccessfully; return(Json(Msg, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Msg.Msg = Resources.Resource.SomthingWentWrong + " : " + ex.Message.ToString(); Msg.Code = 0; return(Json(Msg, JsonRequestBehavior.AllowGet)); } }
public ActionResult ConfirmVisitors(VisitorVM model, string Seats) { if (contextLocal == null) { return(Redirect(Url.Content("~/"))); } Visitor v; // Get the phone number entered previously from the session model.PhoneNumber = Session["PhoneNumber"].ToString(); List <string> AllSeats = Seats.Trim(',').Split(',').ToList(); // Check if the entered code (from SMS) matches the actual given code if (model.ActivationConfirmationCode == Session["ActivationCode"].ToString()) { // Check if this phone number was registered before if (!contextLocal.Visitors.Any(x => x.PhoneNumber == model.PhoneNumber)) { // In the case it wasn't create a new user v = new Visitor(); v.ActivationCode = Session["ActivationCode"].ToString(); v.PhoneNumber = Session["PhoneNumber"].ToString(); contextLocal.Visitors.Add(v); contextLocal.SaveChanges(); } else { // In case it was just update with new data v = contextLocal.Visitors.Where(x => x.PhoneNumber == model.PhoneNumber).FirstOrDefault(); v.ActivationCode = Session["ActivationCode"].ToString(); v.PhoneNumber = Session["PhoneNumber"].ToString(); contextLocal.SaveChanges(); } int i = 0; bool seatsReserved = false; // Check if picked seats are available foreach (ProjectionSeat s in contextLocal.ProjectionSeats.Where(x => x.ProjectionID.ToString() == model.ProjectionId).ToList()) { if (s.SeatID.ToString() == AllSeats[i] && s.IsReserved) { seatsReserved = true; } } // If they are not reserved if (!seatsReserved) { foreach (ProjectionSeat s in contextLocal.ProjectionSeats.Where(x => x.ProjectionID.ToString() == model.ProjectionId).ToList()) { if (i < AllSeats.Count) { foreach (string seat in AllSeats) { // Reserve them if (s.SeatID.ToString() == seat) { s.IsReserved = true; } } } } // Create a new reservation Reservation r = new Reservation(); r.VisitorID = v.VisitorID; r.Visitor = contextLocal.Visitors.Find(v.VisitorID); r.PaymentMethod = contextLocal.PaymentMethods.FirstOrDefault(); r.Visitor = v; r.ProjectionID = int.Parse(model.ProjectionId); r.Projection = contextLocal.Projections.Where(x => x.ProjectionID == r.ProjectionID).FirstOrDefault(); // Used to check if the reservation was paid for later r.ReservationCompleted = true; r.ReservationDate = DateTime.Now; r.ExpiryDate = r.Projection.DateTimeStart.Subtract(new TimeSpan(0, 30, 0)); // Used to check if canceled or not later r.IsDeleted = false; contextLocal.Reservations.Add(r); contextLocal.SaveChanges(); } else { return(Content("Somebody reserved the seats meanwhile!")); } Session["ActivationCode"] = null; Session["PhoneNumber"] = null; } else { Session["ActivationCode"] = null; Session["PhoneNumber"] = null; model.ErrorMessage = "Invalid Activation Code!"; return(RedirectToAction("Registration", model)); } return(RedirectToAction("Cinema", "../Local", new { Reservation = "Your reservation has been made!" })); }