// // GET: /Contract/ public ActionResult Edit(Guid? id, Guid? userId) { ViewData["selectedTab"] = (int)0; var model = new UserContract(); if ((id.HasValue) && (id != Guid.Empty)) { model = db.UserContracts.FirstOrDefault(c => c.Id == id.Value); ViewBag.Contract = new SelectList(db.Contracts, "Id", "Name", model.Contract.Id); //ViewBag.ContractType = new SelectList(db.ContractTypes, "Id", "Name", model.Contract.ContractType); } else { var user = db.Users.First(u => u.Id == userId.Value); model.User = user; model.Actief = false; model.StartDate = DateTime.Now; model.EndDate = model.StartDate.AddDays(1); model.eId = Utilities.GetRandomSalt(5); model.ContractId = new Guid("18a77083-3b99-4ef9-8fbc-93a3e64009d0"); //ViewBag.ContractType = new SelectList(db.ContractTypes, "Id", "Name", model.Contract.ContractType); } return View(model); }
public ActionResult DeleteConfirmed(UserContract userContract, FormCollection collection) { try { var contract = db.UserContracts.FirstOrDefault(c => c.Id == userContract.Id); if (contract != null) { db.UserContracts.Remove(contract); db.SaveChanges(); } //return RedirectToAction("Edit", "User", new { id = userContract.UserId }); return BreadCrum.RedirectToPreviousAction(Session, ControllerName); } catch (Exception ex) { return BreadCrum.RedirectToPreviousAction(Session, ControllerName); } }
public ActionResult Register(FormCollection collection, UserContract userContract) { try { var translation = TranslationDictionary; if (!ModelState.IsValid) { return View(userContract); } var valid = true; if (collection["Password"] != collection["PasswordConfirm"] || string.IsNullOrEmpty(collection["Password"])) { ModelState.AddModelError("User.UserPassword.Password", "!"); valid = false; } //if (string.IsNullOrEmpty(collection["UserName"])) //{ // ModelState.AddModelError("User.UserPassword.UserName", "!"); // valid = false; //} if (string.IsNullOrEmpty(userContract.User.Firstname)) { ModelState.AddModelError("User.FirstName", "!"); valid = false; } if (string.IsNullOrEmpty(userContract.User.Lastname)) { ModelState.AddModelError("User.LastName", "!"); valid = false; } if (string.IsNullOrEmpty(userContract.User.EmailAddress)) { ModelState.AddModelError("User.EmailAddress", "!"); valid = false; } if (string.IsNullOrEmpty(userContract.Uri)) { ModelState.AddModelError("Uri", "!"); valid = false; } if (!valid) return View(userContract); if (userContract.Contract == null) { var contract = db.Contracts.SingleOrDefault(row => row.Id.Equals(userContract.ContractId)); userContract.Contract = contract; } if (!userContract.eId.HasValue()) { userContract.eId = Utilities.GetRandomSalt(5); } if (userContract.User.UserRole == null) { var role = db.UserRoles.SingleOrDefault(row => row.Id.Equals(userContract.User.UserRoleId)); userContract.User.UserRole = role; } var password = collection["Password"]; var userName = userContract.User.EmailAddress;//collection["UserName"]; var userPassword = db.UserPasswords.SingleOrDefault(row => row.UserName == userName); if (userPassword != null) { ModelState.AddModelError("","User already exists".TranslateString(ref translation)); return View(); } userPassword = new UserPassword() { Id = Guid.NewGuid(), Password = password, UserName = userContract.User.EmailAddress,//userName, FullName = userContract.User.ContactFullName, UserId = userContract.UserId, IsAccountAdmin = true, IsReset = false, EmailAddress = userContract.User.EmailAddress }; userContract.User.UserPasswords.Add(userPassword); if (userContract.Id == Guid.Empty) { userContract.Id = Guid.NewGuid(); } db.UserContracts.Add(userContract); db.SaveChanges(); db.UserContracts.Remove(userContract); db.SaveChanges(); ClientTools.SendUserRegisteredMail("NL", userPassword.Id); return RedirectToAction("LogIn"); } catch (DbEntityValidationException ex) { ModelState.AddModelError("", ex); return View(userContract); throw ex; } }
public ActionResult Register() { var defaultContractId = ReadAppSetting("DefaultContractId"); if (string.IsNullOrWhiteSpace(defaultContractId)) { return RedirectToAction("Index", "Home"); } var contractId = new Guid(defaultContractId); var contract = db.Contracts.SingleOrDefault(row => row.Id.Equals(contractId)); var defaultResellerId = ReadAppSetting("DefaultResellerId"); if (string.IsNullOrWhiteSpace(defaultResellerId)) { return RedirectToAction("Index", "Home"); } var resellerId = new Guid(defaultResellerId); var reseller = db.Users.SingleOrDefault(row => row.Id.Equals(resellerId)); var user = new User(); var userContract = new UserContract(); user.Id = Guid.NewGuid(); user.UserRole = db.UserRoles.SingleOrDefault(row => row.Name.Equals("Klant")); user.ReselerId = resellerId; user.eId = Utilities.GetRandomSalt(5); userContract.Id = Guid.NewGuid(); userContract.eId = Utilities.GetRandomSalt(6); userContract.UserId = user.Id; userContract.User = user; userContract.User.UserRoleId = user.UserRole.Id; userContract.User.UserRole = user.UserRole; userContract.Contract = contract; userContract.ContractId = userContract.Contract.Id; userContract.Actief = true; userContract.StartDate = DateTime.Now; userContract.EndDate = DateTime.Now.AddMonths(1); userContract.Name = userContract.Contract.Name; return View(userContract); }
public ActionResult Edit(Guid? id, Guid? userId, FormCollection collection, UserContract userContract) { //Save Action //If id == null then insert try { ViewData["selectedTab"] = int.Parse(collection.GetValue("selectedTab").AttemptedValue); collection.Remove("selectedTab"); var addNewUserContract = !id.HasValue || (id == Guid.Empty); if (ModelState.IsValid) { if (!addNewUserContract) { if (!userContract.eId.HasValue()) { userContract.eId = Utilities.GetRandomSalt(5); } db.Entry(userContract).State = EntityState.Modified; db.SaveChanges(); return BreadCrum.RedirectToPreviousAction(Session, ControllerName); //return RedirectToAction("Edit", new { id = model.Id, userId = model.UserId }); //return View(model); } else { userContract.Id = Guid.NewGuid(); if (!userContract.eId.HasValue()) { userContract.eId = Utilities.GetRandomSalt(5); } db.UserContracts.Add(userContract); db.SaveChanges(); return BreadCrum.RedirectToPreviousAction(Session, ControllerName); //return RedirectToAction("Edit", new { id = model.Id, userId = model.UserId }); } } } catch (Exception ex) { //return RedirectToAction("Edit", new { id = Guid.Empty, userId = userId }); } var user = db.Users.Find(userContract.UserId); userContract.User = user; return View(userContract); //ViewBag.Contract = new SelectList(db.Contracts, "Id", "Name", userContract.Contract); //return BreadCrum.RedirectToPreviousAction(Session, ControllerName); }
public ActionResult PayProduct(Guid licenseTypeId, Guid userId, string returnUrl) { var contract = db.Contracts.SingleOrDefault(row => row.ContractTypeId == licenseTypeId); Session["ReturnUrl"] = returnUrl; var newUserContract = new UserContract() { Id = Guid.NewGuid(), ContractId = contract.Id, UserId = userId, StartDate = DateTime.Now, EndDate = DateTime.Now.AddYears(-1), Name = contract.Name }; db.UserContracts.Add(newUserContract); db.SaveChanges(); return RedirectToAction("Index", new { licenseId = newUserContract.Id }); //check if UserContract.Id is still needed }
private void BuildRecipeByWeekDayPro(UserContract userContract) { for (var i = 1; i <= 7; i++) { var userContractUri = new UserContractUri() { Id = Guid.NewGuid(), UserContractId = userContract.Id, Uri = userContract.Uri, Name = "noname", Enabled = false, RandomFunction = 0, }; userContract.UserContractUris.Add(userContractUri); var userContractRedirect = new UserContractRedirect() { Id = Guid.NewGuid(), UserContractUri = userContractUri.Id, Enabled = true }; userContractRedirect.DayOfTheWeekValue = i; userContractUri.UserContractRedirects.Add(userContractRedirect); } }
private void WriteLog(Dictionary<string, string> userAgent, string resultUri, UserContract userContract, UserContractUri userContractUri = null, UserContractRedirect userContractRedirect = null) { var host = Request.UserHostAddress; var userContractLog = new UserContractLog { Id = Guid.NewGuid(), DateTime = DateTime.Now, Host = host, ResultUri = resultUri, UserContractId = userContract.Id, UserAgent = userAgent.Aggregate("", (current, key) => current + string.Format("{0}:{1};", key.Key, key.Value)) }; if (userContractUri != null) { userContractLog.UserContractUri = userContractUri.Id; } if (userContractRedirect != null) { userContractLog.UserContractRedirect = userContractRedirect.Id; } db.UserContractLogs.Add(userContractLog); db.SaveChanges(); }
private void BuildRecipeByRandom4(UserContract userContract) { var userContractUri = new UserContractUri() { Id = Guid.NewGuid(), UserContractId = userContract.Id, Uri = userContract.Uri, Name = "noname", Enabled = false, RandomFunction = 3, }; userContract.UserContractUris.Add(userContractUri); var userContractRedirect = new UserContractRedirect { Id = Guid.NewGuid(), UserContractUri = userContractUri.Id, Enabled = true, DateTimeValueStart = userContract.StartDate, DateTimeValueStop = userContract.EndDate }; userContractUri.UserContractRedirects.Add(userContractRedirect); var randomUri = new RandomUri() { Id = Guid.NewGuid(), Uri = userContract.Uri, UserContractUriId = userContractUri.Id, RandomParameter = 1, }; userContractUri.RandomUris.Add(randomUri); }
private void BuildRecipeByTime(UserContract userContract) { var userContractUri = new UserContractUri() { Id = Guid.NewGuid(), UserContractId = userContract.Id, Uri = userContract.Uri, Name = "noname", Enabled = false, RandomFunction = 0, }; userContract.UserContractUris.Add(userContractUri); var userContractRedirect = new UserContractRedirect() { Id = Guid.NewGuid(), UserContractUri = userContractUri.Id, Enabled = true }; userContractUri.UserContractRedirects.Add(userContractRedirect); }
private void BuildRecipeByDate(UserContract userContract) { var userContractUri = new UserContractUri() { Id = Guid.NewGuid(), UserContractId = userContract.Id, Uri = userContract.Uri, Name = "noname", Enabled = false, RandomFunction = 0, }; userContract.UserContractUris.Add(userContractUri); var userContractRedirect = new UserContractRedirect() { Id = Guid.NewGuid(), UserContractUri = userContractUri.Id, Enabled = true }; userContractRedirect.DateTimeValueStart = DateTime.Now; userContractUri.UserContractRedirects.Add(userContractRedirect); db.SaveChanges(); }
public ActionResult Edit(UserContract usercontract) { if (ModelState.IsValid) { var contractRecipe = db.ContractRecipes.Find(usercontract.ContractRecipeId); if (contractRecipe != null) { //to be sure, set all redirects on enabled, the UI has no access to this field and it's used in the engine foreach (var userContractUri in usercontract.UserContractUris) { foreach (var redirect in userContractUri.UserContractRedirects) { redirect.Enabled = true; } } switch (contractRecipe.Code) { case (2): { foreach (var userContractUri in usercontract.UserContractUris) { foreach (var userContractRedirect in userContractUri.UserContractRedirects) { if (userContractRedirect.DateTimeValueStart.HasValue) { userContractRedirect.DateTimeValueStop = userContractRedirect.DateTimeValueStart; userContractRedirect.DateTimeValueStop = userContractRedirect.DateTimeValueStop + TimeSpan.FromHours(24); } } } break; } case (11): { for (int i = 1; i <= 7; i++) { var UserContractUrisList = usercontract.UserContractUris.Where( row => row.UserContractRedirects.First().DayOfTheWeekValue == i).ToList(); bool active = false; foreach (var userContractUri in UserContractUrisList) { if (userContractUri.Actief) active = true; } foreach (var userContractUri in UserContractUrisList) { userContractUri.Actief = active; } } break; } case (10): { bool active = false; foreach (var userContractUri in usercontract.UserContractUris) { if (userContractUri.Actief) active = true; } foreach (var userContractUri in usercontract.UserContractUris) { userContractUri.Actief = active; } break; } } } db.Entry(usercontract).State = EntityState.Modified; foreach (var userContractUri in usercontract.UserContractUris) { db.Entry(userContractUri).State = EntityState.Modified; foreach (var userContractRedirect in userContractUri.UserContractRedirects) { db.Entry(userContractRedirect).State = EntityState.Modified; } foreach (var randomUri in userContractUri.RandomUris) { db.Entry(randomUri).State = EntityState.Modified; } } try { db.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine( "Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } //return RedirectToAction("Index", new {userId = usercontract.UserId}); return BreadCrum.RedirectToPreviousAction(Session, ControllerName); } ViewBag.ContractId = new SelectList(db.Contracts, "Id", "Name", usercontract.ContractId); ViewBag.UserId = new SelectList(db.Users, "Id", "Firstname", usercontract.UserId); ViewBag.ContractRecipeId = new SelectList(db.ContractRecipes, "Id", "Name"); return View(usercontract); }
//protected override void Dispose(bool disposing) //{ // db.Dispose(); // base.Dispose(disposing); //} public ActionResult CreateRecipe(Guid? recipeId, Guid? userId, Guid? defaultContractId) { ViewBag.userId = userId; if (!recipeId.HasValue) { return View(db.ContractRecipes.ToList()); } var adefaultContractId = ReadAppSetting("DefaultContractId"); var userContract = new UserContract() { Id = Guid.NewGuid(), ContractId = new Guid(defaultContractId.HasValue ? defaultContractId.ToString() : adefaultContractId), UserId = userId ?? User.Id, StartDate = DateTime.Now, EndDate = DateTime.Now.AddYears(1), Uri = "http://www.tag4s.com", ContractRecipeId = recipeId.Value, Enabled = false, eId = Utilities.GetRandomSalt(5), }; //aici, in functie de recipe.code, trebuie umplut contractul cum trebuie. var contractRecipe = db.ContractRecipes.Find(recipeId); switch (contractRecipe.Code) { case 1: BuildRecipeByDate(userContract); break; case 2: BuildRecipeByDate(userContract); break; case 3: BuildRecipeByWeekDay(userContract); break; case 4: BuildRecipeByRandom1(userContract); break; case 5: BuildRecipeByRandom2(userContract); break; case 6: BuildRecipeByTime(userContract); break; case 7: BuildRecipeByRandom3(userContract); break; case 8: BuildRecipeByRandom4(userContract); break; case 9: break; case 10: BuildRecipeByDate(userContract); break; case 11: BuildRecipeByWeekDayPro(userContract); break; case 14: BuildRecipeByTime(userContract); break; } db.UserContracts.Add(userContract); try { db.SaveChanges(); } catch (DbEntityValidationException e) { throw; } return RedirectToAction("Edit", new {userContract.Id}); }
public ActionResult Create(UserContract usercontract) { if (ModelState.IsValid) { usercontract.Id = Guid.NewGuid(); db.UserContracts.Add(usercontract); db.SaveChanges(); return BreadCrum.RedirectToPreviousAction(Session, ControllerName); } ViewBag.ContractId = new SelectList(db.Contracts, "Id", "Name", usercontract.ContractId); ViewBag.UserId = new SelectList(db.Users, "Id", "Firstname", usercontract.UserId); ViewBag.ContractRecipeId = new SelectList(db.ContractRecipes, "Id", "Name"); return View(usercontract); }
public List<UserContractParametersModel> BuildRecipeByRule(UserContract userContract) { var result = new List<UserContractParametersModel>(); foreach (var userContractUri in userContract.UserContractUris) { var userContractUriId = userContractUri.Id; var id = userContract.UserContractUris.SingleOrDefault(row => row.Id == userContractUriId) .UserContractRedirects.FirstOrDefault() .Id; var model = new UserContractParametersModel(); model.UserContractUri = userContractUri; //get parameters with possible values var parameters = db.RuleParameters.Select(row => new ContractRedirectParameterModel {RuleParameter = row}).ToList(); model.ParameterModel = parameters; foreach (var parameter in model.ParameterModel) { var list = db.RuleParameterValues.Where(row => row.RuleParameterId == parameter.RuleParameter.Id) .ToList() .Select(row => new SelectListItem {Text = row.Name, Value = row.Id.ToString()}).ToList(); list.Insert(0, new SelectListItem {Selected = true, Text = "...", Value = Guid.Empty.ToString()}); parameter.RuleParameterValues = list; } var redirects = db.RedirectTypes.Select(row => new ContractRedirectRedirectTypeModel {RedirectType = row}).ToList(); model.RedirectTypeModel = redirects; foreach (var redirect in model.RedirectTypeModel) { var list = db.RedirectTypeValues.Where(row => row.RedirectTypeId == redirect.RedirectType.Id) .ToList() .Select(row => new SelectListItem {Text = row.Name, Value = row.Id.ToString()}).ToList(); list.Insert(0, new SelectListItem {Selected = true, Text = "...", Value = Guid.Empty.ToString()}); redirect.RedirectTypeValues = list; } if (id != Guid.Empty) { model.UserContract = userContract; if (model.UserContract != null) { //get the selectedvalues foreach ( var ruleParameterValue in userContractUri .UserContractRedirects.FirstOrDefault() .RuleParameterValues) { var parameter = model.ParameterModel.FirstOrDefault( row => row.RuleParameter.Id == ruleParameterValue.RuleParameterId); if (parameter != null) { parameter.SelectedValue = ruleParameterValue; var singleOrDefault = parameter.RuleParameterValues.SingleOrDefault( row => row.Value == parameter.SelectedValue.Id.ToString()); if (singleOrDefault != null) singleOrDefault.Selected = true; } } //get the selectedvalues foreach ( var redirectTypeValue in userContractUri .UserContractRedirects.FirstOrDefault() .RedirectTypeValues) { var redirect = model.RedirectTypeModel.FirstOrDefault( row => row.RedirectType.Id == redirectTypeValue.RedirectTypeId); if (redirect != null) { redirect.SelectedValue = redirectTypeValue; var singleOrDefault = redirect.RedirectTypeValues.SingleOrDefault( row => row.Value == redirect.SelectedValue.Id.ToString()); if (singleOrDefault != null) singleOrDefault.Selected = true; } } } } result.Add(model); } return result; }