public override void OnActionExecuting(ActionExecutingContext filterContext) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); RolesRepository rolesRepository = new RolesRepository(context); if (AuthenticationManager.LoggedUser == null) { filterContext.HttpContext.Response.Redirect("~/?RedirectUrl=" + filterContext.HttpContext.Request.Url); filterContext.Result = new EmptyResult(); return; } else { foreach (var role in AuthenticationManager.LoggedUser.Roles) { if (!rolesRepository.Exists(role.ID, filterContext.RouteData.Values["Controller"].ToString(), filterContext.RouteData.Values["Action"].ToString())) { filterContext.HttpContext.Response.Redirect("~/"); } else { base.OnActionExecuting(filterContext); } } } }
public ActionResult DeleteRole(int id) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); RolesRepository rolesRepository = new RolesRepository(context); RolesDeleteRoleVM model = new RolesDeleteRoleVM(); Role role = rolesRepository.GetAll(filter: r => r.ID == id, includeProperties: "AuthenticatingActions").FirstOrDefault(); model.ID = role.ID; model.Name = role.Name; return View(model); }
public void BuildParametersForInsertingTest() { List<DbParam> expectedParametersForInserting = new List<DbParam> { new DbParam { Name = "@Name", Value = _role.Name }, new DbParam { Name = "@Description", Value = _role.Description } }; RolesRepository rolesRepository = new RolesRepository(_dbWrapper); List<DbParam> actualParametersForInserting = rolesRepository.BuildParametersForInserting(_role).ToList(); CollectionAssert.AreEqual(expectedParametersForInserting, actualParametersForInserting); }
public ActionResult DeleteRole(RolesDeleteRoleVM model) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); RolesRepository rolesRepository = new RolesRepository(context); Role role = rolesRepository.GetAll(filter: r => r.ID == model.ID, includeProperties: "AuthenticatingActions").FirstOrDefault(); if (role == null) { return HttpNotFound(); } role.AuthenticatingActions = null; rolesRepository.Delete(role); return RedirectToAction("Index", "Roles"); }
// GET: /UnDelete public ActionResult UnDelete(int id) { //Get Item ClientDetail clientDetail = new ClientDetail(); clientDetail = clientDetailRepository.GetGroup(id); //Check Exists if (clientDetail == null || clientDetail.DeletedFlag == false) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } clientDetailRepository.EditGroupForDisplay(clientDetail); string can = clientDetail.HierarchyCode; string ssc = clientDetail.SourceSystemCode; //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToClientAccount(can, ssc)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } ClientAccountClientDetailVM clientAccountClientDetailVM = new ClientAccountClientDetailVM(); clientDetailRepository.EditGroupForDisplay(clientDetail); clientAccountClientDetailVM.ClientDetail = clientDetail; ClientAccount clientAccount = new ClientAccount(); clientAccount = clientAccountRepository.GetClientAccount(can, ssc); clientAccountClientDetailVM.ClientAccount = clientAccount; return(View(clientAccountClientDetailVM)); }
public ActionResult Delete(int id) { Partner partner = new Partner(); partner = partnerRepository.GetPartner(id); //Check Exists if (partner == null) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } PartnerVM partnerVM = new PartnerVM(); partnerVM.AllowDelete = true; //Attached Items List <PartnerReference> partnerReferences = partnerRepository.GetPartnerReferences(partner.PartnerId); if (partnerReferences.Count > 0) { partnerVM.AllowDelete = false; partnerVM.PartnerReferences = partnerReferences; } partnerVM.Partner = partner; return(View(partnerVM)); }
public ActionResult Delete(int id, string languageCode) { //Get Item ReasonCodeTravelerDescription reasonCodeTravelerDescription = new ReasonCodeTravelerDescription(); reasonCodeTravelerDescription = reasonCodeTravelerDescriptionRepository.GetItem(id, languageCode); //Check Exists if (reasonCodeTravelerDescription == null) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights ReasonCodeItem reasonCodeItem = new ReasonCodeItem(); reasonCodeItem = reasonCodeItemRepository.GetItem(id); RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReasonCodeGroup(reasonCodeItem.ReasonCodeGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //ParentInformation reasonCodeItemRepository.EditItemForDisplay(reasonCodeItem); ViewData["ReasonCodeItem"] = reasonCodeItem.ReasonCode + "/" + reasonCodeItem.ReasonCodeTypeDescription + "/" + reasonCodeItem.ProductName; ViewData["ReasonCodeItemId"] = reasonCodeItem.ReasonCodeItemId; ViewData["ReasonCodeGroupId"] = reasonCodeItem.ReasonCodeGroupId; ViewData["ReasonCodeGroupName"] = reasonCodeGroupRepository.GetGroup(reasonCodeItem.ReasonCodeGroupId).ReasonCodeGroupName; //Add Linked Information reasonCodeTravelerDescriptionRepository.EditItemForDisplay(reasonCodeTravelerDescription); //Return View return(View(reasonCodeTravelerDescription)); }
public ActionResult Delete(int id) { GDSThirdPartyVendor thirdPartyVendor = new GDSThirdPartyVendor(); thirdPartyVendor = thirdPartyVendorRepository.GetGDSThirdPartyVendor(id); //Check Exists if (thirdPartyVendor == null) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } GDSThirdPartyVendorVM thirdPartyVendorVM = new GDSThirdPartyVendorVM(); thirdPartyVendorVM.AllowDelete = true; //Attached Items List <GDSThirdPartyVendorReference> thirdPartyVendorReferences = thirdPartyVendorRepository.GetGDSThirdPartyVendorReferences(thirdPartyVendor.GDSThirdPartyVendorId); if (thirdPartyVendorReferences.Count > 0) { thirdPartyVendorVM.AllowDelete = false; thirdPartyVendorVM.GDSThirdPartyVendorReferences = thirdPartyVendorReferences; } thirdPartyVendorVM.GDSThirdPartyVendor = thirdPartyVendor; return(View(thirdPartyVendorVM)); }
public ActionResult Delete(int id) { GDSRequestType gdsRequestType = new GDSRequestType(); gdsRequestType = gdsRequestTypeRepository.GetGDSRequestType(id); //Check Exists if (gdsRequestType == null) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } GDSRequestTypeVM gdsRequestTypeVM = new GDSRequestTypeVM(); gdsRequestTypeVM.AllowDelete = true; //Attached Items List <GDSRequestTypeReference> gdsRequestTypeReferences = gdsRequestTypeRepository.GetGDSRequestTypeReferences(gdsRequestType.GDSRequestTypeId); if (gdsRequestTypeReferences.Count > 0) { gdsRequestTypeVM.AllowDelete = false; gdsRequestTypeVM.GDSRequestTypeReferences = gdsRequestTypeReferences; } gdsRequestTypeVM.GDSRequestType = gdsRequestType; return(View(gdsRequestTypeVM)); }
public ActionResult Delete(int id) { FareRedistribution fareRedistribution = new FareRedistribution(); fareRedistribution = fareRedistributionRepository.GetFareRedistribution(id); //Check Exists if (fareRedistribution == null) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } FareRedistributionVM fareRedistributionVM = new FareRedistributionVM(); fareRedistributionVM.AllowDelete = true; //Attached Items List <FareRedistributionReference> fareRedistributionReferences = fareRedistributionRepository.GetFareRedistributionReferences(fareRedistribution.FareRedistributionId); if (fareRedistributionReferences.Count > 0) { fareRedistributionVM.AllowDelete = false; fareRedistributionVM.FareRedistributionReferences = fareRedistributionReferences; } fareRedistributionVM.FareRedistribution = fareRedistribution; return(View(fareRedistributionVM)); }
// GET: /Edit public ActionResult Edit(int id) { //Get policySupplierServiceInformation PolicySupplierServiceInformation policySupplierServiceInformation = new PolicySupplierServiceInformation(); policySupplierServiceInformation = policySupplierServiceInformationRepository.GetPolicySupplierServiceInformation(id); //Check Exists if (policySupplierServiceInformation == null) { ViewData["ActionMethod"] = "CreateGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToPolicyGroup(policySupplierServiceInformation.PolicyGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Populate List of policySupplierServiceInformationTypeRepositorys PolicySupplierServiceInformationTypeRepository policySupplierServiceInformationTypeRepository = new PolicySupplierServiceInformationTypeRepository(); SelectList policySupplierServiceInformations = new SelectList(policySupplierServiceInformationTypeRepository.GetAllPolicySupplierServiceInformationTypes().ToList(), "policySupplierServiceInformationTypeId", "policySupplierServiceInformationTypeDescription"); ViewData["policySupplierServiceInformationList"] = policySupplierServiceInformations; //Populate List of Products ProductRepository productRepository = new ProductRepository(); SelectList products = new SelectList(productRepository.GetAllProducts().ToList(), "ProductId", "ProductName"); ViewData["ProductList"] = products; //return edit form policySupplierServiceInformationRepository.EditItemForDisplay(policySupplierServiceInformation); return(View(policySupplierServiceInformation)); }
// GET: /UnDelete public ActionResult UnDelete(int id) { //Get Item From Database ProductGroup productGroup = new ProductGroup(); productGroup = passiveSegmentBuilderGroupRepository.GetGroup(id); //Check Exists if (productGroup == null || productGroup.DeletedFlag == false) { ViewData["ActionMethod"] = "DeleteGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToProductGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } PassiveSegmentBuilderGroupVM productGroupVM = new PassiveSegmentBuilderGroupVM(); productGroupRepository.EditGroupForDisplay(productGroup); productGroupVM.ProductGroup = productGroup; List <SelectListItem> products = new List <SelectListItem>(); products = productRepository.GetPassiveSegmentProducts(id); productGroupVM.Products = products; List <SelectListItem> subProducts = new List <SelectListItem>(); subProducts = productGroupSubProductRepository.GetProductGroupSubProducts(id); productGroupVM.SubProducts = subProducts; return(View(productGroupVM)); }
// GET: /Edit public ActionResult Edit(int id) { //Get Item From Database ExternalSystemParameter group = new ExternalSystemParameter(); group = externalSystemParameterRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToExternalSystemParameter(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } TripTypeRepository tripTypeRepository = new TripTypeRepository(); SelectList tripTypesList = new SelectList(tripTypeRepository.GetAllTripTypes().ToList(), "TripTypeId", "TripTypeDescription"); ViewData["TripTypes"] = tripTypesList; ExternalSystemParameterTypeRepository externalSystemParameterTypeRepository = new ExternalSystemParameterTypeRepository(); SelectList externalSystemParameterTypeList = new SelectList(externalSystemParameterTypeRepository.GetAllExternalSystemParameterTypes().ToList(), "ExternalSystemParameterTypeId", "ExternalSystemParameterTypeName"); ViewData["ExternalSystemParameterTypes"] = externalSystemParameterTypeList; TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository(); SelectList hierarchyTypesList = new SelectList(tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName"); ViewData["HierarchyTypes"] = hierarchyTypesList; externalSystemParameterRepository.EditGroupForDisplay(group); return(View(group)); }
// GET: /CreateRole public ActionResult CreateRole(string id) { //Get SystemUser SystemUser systemUser = new SystemUser(); systemUser = systemUserRepository.GetUserBySystemUserGuid(id); //Check Exists if (systemUser == null) { ViewData["ActionMethod"] = "CreateGet"; return(View("RecordDoesNotExistError")); } //AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToSystemUserRoles(systemUser.SystemUserGuid)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } ViewData["SystemUserName"] = (systemUser.LastName + ", " + systemUser.FirstName + " " + systemUser.MiddleName).Replace(" ", " "); ViewData["Roles"] = new SelectList((from s in systemUserRepository.GetUnUsedRoles(id).ToList() select new { id = s.AdministratorRoleId + "_" + s.HierarchyLevelTypeId, Name = s.AdministratorRoleHierarchyLevelTypeName } ), "id", "Name", null); //Show Create Form AdministratorRoleHierarchyLevelType administratorRoleHierarchyLevelType = new AdministratorRoleHierarchyLevelType(); administratorRoleHierarchyLevelType.SystemUserGuid = systemUser.SystemUserGuid; return(View(administratorRoleHierarchyLevelType)); }
// GET: /Create public ActionResult Create(int id) { LocalOperatingHoursGroup group = new LocalOperatingHoursGroup(); group = localOperatingHoursGroupRepository.GetGroup(id); //Check Exists if (group == null) { ViewData["ActionMethod"] = "CreateGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToLocalOperatingHoursGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } WeekdayRepository weekdayRepository = new WeekdayRepository(); SelectList weekdayList = new SelectList(weekdayRepository.GetAllWeekdays().ToList(), "WeekdayId", "WeekdayName"); ViewData["Weekdays"] = weekdayList; ViewData["hourList"] = new SelectList(new[] { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11" } .Select(x => new { value = x, text = x }), "value", "text", ""); LocalOperatingHoursItem localOperatingHoursItem = new LocalOperatingHoursItem(); localOperatingHoursItem.LocalOperatingHoursGroupName = group.LocalOperatingHoursGroupName; localOperatingHoursItem.LocalOperatingHoursGroupId = group.LocalOperatingHoursGroupId; return(View(localOperatingHoursItem)); }
// GET: /Edit public ActionResult Edit(int id) { ClientDetail clientDetail = new ClientDetail(); clientDetail = clientDetailRepository.GetGroup(id); //Check Exists if (clientDetail == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } clientDetailRepository.EditGroupForDisplay(clientDetail); string clientSubUnitGuid = clientDetail.HierarchyCode; //Access Rights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToClientSubUnit(clientSubUnitGuid)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } ClientSubUnitClientDetailVM clientAccountClientDetailVM = new ClientSubUnitClientDetailVM(); clientAccountClientDetailVM.ClientDetail = clientDetail; TripTypeRepository tripTypeRepository = new TripTypeRepository(); clientAccountClientDetailVM.TripTypes = new SelectList(tripTypeRepository.GetAllTripTypes().ToList(), "TripTypeId", "TripTypeDescription", clientDetail.TripTypeId); ClientSubUnit clientSubUnit = new ClientSubUnit(); clientSubUnit = clientSubUnitRepository.GetClientSubUnit(clientSubUnitGuid); clientAccountClientDetailVM.ClientSubUnit = clientSubUnit; return(View(clientAccountClientDetailVM)); }
public ActionResult HierarchySearch(int groupId, string filterHierarchySearchProperty, string filterHierarchySearchText, string filterHierarchyCSUSearchText = "", string filterHierarchyTTSearchText = "") { PNROutputGroup pnrOutputGroup = new PNROutputGroup(); pnrOutputGroup = pnrOutputGroupRepository.GetGroup(groupId); //Check Exists if (pnrOutputGroup == null) { ViewData["ActionMethod"] = "HierarchySearchGet"; return(View("RecordDoesNotExistError")); } PNROutputGroupHierarchySearchVM hierarchySearchVM = new PNROutputGroupHierarchySearchVM(); hierarchySearchVM.GroupId = groupId; hierarchySearchVM.GroupType = groupName; hierarchySearchVM.PNROutputGroup = pnrOutputGroup; hierarchySearchVM.LinkedHierarchies = pnrOutputGroupRepository.PNROutputGroupLinkedHierarchies(groupId, pnrOutputGroupRepository.getHierarchyType(filterHierarchySearchProperty)); hierarchySearchVM.AvailableHierarchies = pnrOutputGroupRepository.PNROutputGroupAvailableHierarchies(groupId, filterHierarchySearchProperty, filterHierarchySearchText, filterHierarchyCSUSearchText, filterHierarchyTTSearchText); hierarchySearchVM.AvailableHierarchyTypeDisplayName = pnrOutputGroupRepository.getAvailableHierarchyTypeDisplayName(filterHierarchySearchProperty); if (filterHierarchySearchProperty == null) { filterHierarchySearchProperty = "ClientSubUnitName"; } hierarchySearchVM.FilterHierarchySearchProperty = filterHierarchySearchProperty; hierarchySearchVM.FilterHierarchySearchText = filterHierarchySearchText; hierarchySearchVM.FilterHierarchySearchProperty = filterHierarchySearchProperty; RolesRepository rolesRepository = new RolesRepository(); hierarchySearchVM.HasWriteAccess = rolesRepository.HasWriteAccessToPNROutputGroup(groupId); hierarchySearchVM.HierarchyPropertyOptions = pnrOutputGroupRepository.GetHierarchyPropertyOptions(groupName, hierarchySearchVM.FilterHierarchySearchProperty); hierarchySearchVM.LinkedHierarchiesTotal = pnrOutputGroupRepository.CountPNROutputGroupLinkedHierarchies(groupId); return(View(hierarchySearchVM)); }
public ActionResult Edit(int id) { //Get Item From Database ClientFeeItem clientFeeItem = new ClientFeeItem(); clientFeeItem = clientFeeItemRepository.GetItem(id); //Check Exists if (clientFeeItem == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToClientFeeGroup(clientFeeItem.ClientFeeGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } ClientFeeItemVM clientFeeItemVM = new ClientFeeItemVM(); clientFeeItemVM.ClientFeeItem = clientFeeItem; FeeTypeRepository feeTypeRepository = new FeeTypeRepository(); FeeType feeType = new FeeType(); feeType = feeTypeRepository.GetFeeType(clientFeeItem.ClientFee.FeeTypeId); clientFeeItemVM.FeeType = feeType; SelectList clientFees = new SelectList(clientFeeRepository.GetClientFeesByType(clientFeeItem.ClientFee.FeeTypeId).ToList(), "ClientFeeId", "ClientFeeDescription"); clientFeeItemVM.ClientFees = clientFees; return(View(clientFeeItemVM)); }
public ActionResult EditUser(int id) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); UsersRepository usersRepository = new UsersRepository(context); RolesRepository rolesRepository = new RolesRepository(context); UsersEditUserVM model = new UsersEditUserVM(); if (id > 0) { User user = usersRepository.GetAll(filter: u => u.ID == id, includeProperties: "Roles").FirstOrDefault(); PopulateAssignedRoles(user, rolesRepository); model.ID = user.ID; model.PersonalNumber = user.PersonalNumber; model.Password = user.Password; model.FirstName = user.FirstName; model.Email = user.Email; model.Address = user.Address; model.LastName = user.LastName; model.Birthday = user.Birthday; model.DateIn = user.DateIn; if (user.DateOut != null) { model.DateOut = user.DateOut.Value; } } else { model.Email = " "; User user = new User(); user.Roles = new List<Role>(); PopulateAssignedRoles(user, rolesRepository); } return View(model); }
private List <string> validarCamposCreateOrEdit() { List <string> errores = new List <string>(); //Valido el nombre if (txtNombre.Text == "" || !Regex.IsMatch(txtNombre.Text, regexLetrasEspaciosONumeros)) { errores.Add("Ingrese un nombre valido"); } else { if (!(ParaModificar && txtNombre.Text == Rol.Nombre)) { int cantIguales = RolesRepository.GetCantidadRolesConEseNombre(txtNombre.Text); if (cantIguales > 0) { errores.Add("Ya existe un rol con ese nombre"); } } } return(errores); }
public ActionResult Edit(int id) { PolicyMessageGroupItemAir policyMessageGroupItemAir = new PolicyMessageGroupItemAir(); policyMessageGroupItemAir = policyMessageGroupItemAirRepository.GetPolicyMessageGroupItemAir(id);; //Check Exists if (policyMessageGroupItemAir == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } PolicyGroup policyGroup = new PolicyGroup(); policyGroup = policyGroupRepository.GetGroup(policyMessageGroupItemAir.PolicyGroupId); RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToPolicyGroupMessages(policyGroup.PolicyGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } PolicyMessageGroupItemAirVM policyMessageGroupItemAirVM = new PolicyMessageGroupItemAirVM(); policyMessageGroupItemAirVM.PolicyGroupName = policyGroup.PolicyGroupName; policyMessageGroupItemAirVM.PolicyGroupId = policyGroup.PolicyGroupId; policyMessageGroupItemAirVM.PolicyMessageGroupItemAir = policyMessageGroupItemAir; //add the PolicyRouting information PolicyRouting policyRouting = policyRoutingRepository.GetPolicyRouting((int)policyMessageGroupItemAir.PolicyRoutingId); policyRoutingRepository.EditForDisplay(policyRouting); policyMessageGroupItemAirVM.PolicyRouting = policyRouting; return(View(policyMessageGroupItemAirVM)); }
public ActionResult Edit(int id) { PolicyMessageGroupItemHotel policyMessageGroupItemHotel = new PolicyMessageGroupItemHotel(); policyMessageGroupItemHotel = policyMessageGroupItemHotelRepository.GetPolicyMessageGroupItemHotel(id);; //Check Exists if (policyMessageGroupItemHotel == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } PolicyGroup policyGroup = new PolicyGroup(); policyGroup = policyGroupRepository.GetGroup(policyMessageGroupItemHotel.PolicyGroupId); RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToPolicyGroupMessages(policyGroup.PolicyGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } PolicyMessageGroupItemHotelVM policyMessageGroupItemHotelVM = new PolicyMessageGroupItemHotelVM(); policyMessageGroupItemHotelVM.PolicyGroupName = policyGroup.PolicyGroupName; policyMessageGroupItemHotelVM.PolicyGroupId = policyGroup.PolicyGroupId; policyMessageGroupItemHotelVM.PolicyMessageGroupItemHotel = policyMessageGroupItemHotel; //Populate List of PolicyLocations PolicyLocationRepository policyLocationRepository = new PolicyLocationRepository(); SelectList policyLocations = new SelectList(policyLocationRepository.GetAllPolicyLocations().ToList(), "PolicyLocationId", "PolicyLocationName", policyMessageGroupItemHotel.PolicyLocationId); policyMessageGroupItemHotelVM.PolicyLocations = policyLocations; return(View(policyMessageGroupItemHotelVM)); }
// GET: /Edit public ActionResult Edit(int id) { //Get Item From Database OptionalFieldGroup optionalFieldGroup = new OptionalFieldGroup(); optionalFieldGroup = optionalFieldGroupRepository.GetGroup(id); //Check Exists if (optionalFieldGroup == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToOptionalFieldGroup(id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } OptionalFieldGroupVM optionalFieldGroupVM = new OptionalFieldGroupVM(); optionalFieldGroupRepository.EditGroupForDisplay(optionalFieldGroup); optionalFieldGroupVM.OptionalFieldGroup = optionalFieldGroup; TablesDomainHierarchyLevelRepository tablesDomainHierarchyLevelRepository = new TablesDomainHierarchyLevelRepository(); SelectList hierarchyTypesList = new SelectList( tablesDomainHierarchyLevelRepository.GetDomainHierarchies(groupName).ToList(), "HierarchyLevelTableName", "HierarchyLevelTableName", optionalFieldGroup.HierarchyType); optionalFieldGroupVM.HierarchyTypes = hierarchyTypesList; return(View(optionalFieldGroupVM)); }
public ActionResult DefineRolesStep2(string id, string newUserProfileIdentifier, FormCollection collection) { //Get SystemUsers SystemUser systemUser = new SystemUser(); systemUser = systemUserRepository.GetUserBySystemUserGuid(id); SystemUser newSystemUser = new SystemUser(); newSystemUser = systemUserRepository.GetUserByUserProfileIdentifier(newUserProfileIdentifier); //Check Exists if (systemUser == null || newSystemUser == null) { ViewData["ActionMethod"] = "DefineRolesStep1"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToSystemUserRoles(systemUser.SystemUserGuid) || !rolesRepository.HasWriteAccessToSystemUserRoles(newSystemUser.SystemUserGuid)) { return(View("Error")); } try { systemUserRepository.CopyUserRoles(id, newSystemUser.SystemUserGuid); } catch { return(View("Error")); } return(RedirectToAction("DefineRolesCompleted", new { id = id, newUserProfileIdentifier = newUserProfileIdentifier })); }
public ActionResult Create() { //AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!hierarchyRepository.AdminHasDomainWriteAccess(groupName)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } GDSContactVM GDSContactVM = new GDSContactVM(); //Create Item GDSContact gdsContact = new GDSContact(); //Countries GDSContactVM.Countries = new SelectList(countryRepository.GetAllCountries().ToList(), "CountryCode", "CountryName"); //GDS GDSContactVM.GDSs = new SelectList(gdsRepository.GetAllGDSs().ToList(), "GDSCode", "GDSName"); //GDSRegions GDSContactVM.GlobalRegions = new SelectList(hierarchyRepository.GetAllGlobalRegions().ToList(), "GlobalRegionCode", "GlobalRegionName"); //GDSRequestTypes GDSContactVM.GDSRequestTypes = new SelectList(gdsRequestTypeRepository.GetAllGDSRequestTypes().ToList(), "GDSRequestTypeId", "GDSRequestTypeName"); //PseudoCityOrOfficeBusinesses GDSContactVM.PseudoCityOrOfficeBusinesses = new SelectList(pseudoCityOrOfficeBusinessRepository.GetAllPseudoCityOrOfficeBusinesses().ToList(), "PseudoCityOrOfficeBusinessId", "PseudoCityOrOfficeBusinessName"); //PseudoCityOrOfficeDefinedRegions GDSContactVM.PseudoCityOrOfficeDefinedRegions = new SelectList(pseudoCityOrOfficeDefinedRegionRepository.GetAllPseudoCityOrOfficeDefinedRegions().ToList(), "PseudoCityOrOfficeDefinedRegionId", "PseudoCityOrOfficeDefinedRegionName"); GDSContactVM.GDSContact = gdsContact; return(View(GDSContactVM)); }
public JsonResult HasClientProfileGroupBeenUpdatedSinceLoad(string clientProfileGroupId, string lastUpdateTimestamp) { string retval = string.Empty; int id = Int32.Parse(clientProfileGroupId); //Get Item From Database ClientProfileGroup clientProfileGroup = new ClientProfileGroup(); clientProfileGroup = clientProfileGroupRepository.GetGroup(id); //Check Exists if (clientProfileGroup == null) { retval = "RecordDoesNotExistError"; } //Check Access RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToClientProfileGroup(id)) { retval = "You do not have access to this item"; } if (!string.IsNullOrEmpty(lastUpdateTimestamp)) { DateTime profileLoadedTimestamp = CWTDateHelpers.RoundToSecond(Convert.ToDateTime(lastUpdateTimestamp)); DateTime currentTimestamp = CWTDateHelpers.RoundToSecond(Convert.ToDateTime(clientProfileGroup.LastUpdateTimestamp)); retval = (currentTimestamp > profileLoadedTimestamp) ? "true" : "false"; } else { retval = "false"; } return(Json(retval)); }
public ActionResult Index(int?id) { RolesRepository _rolesRepository = new RolesRepository(_context); if (id == null) { var lst = _rolesRepository.GetAll(currentAccount, LanguageId).ToList(); if (lst.Count > 0) { ViewBag.RolesId = new SelectList(lst, "RolesId", "RolesName"); PageSelectData(lst.First()); ViewBag.id = lst.First().RolesId; } return(View()); } else { int RolesId = Convert.ToInt32(id); try { RolesModel rolesmodel = _rolesRepository.Find(RolesId); if (rolesmodel == null) { return(HttpNotFound()); } ViewBag.RolesId = new SelectList(_rolesRepository.GetAll(currentAccount, LanguageId), "RolesId", "RolesName", RolesId); ViewBag.id = RolesId; PageSelectData(rolesmodel); return(View()); } catch { return(HttpNotFound()); } } }
// GET: /Edit public ActionResult Edit(int id, string languageCode) { //Get Item PolicyAirCabinGroupItemLanguage policyAirCabinGroupItemLanguage = new PolicyAirCabinGroupItemLanguage(); policyAirCabinGroupItemLanguage = policyAirCabinGroupItemLanguageRepository.GetItem(id, languageCode); //Check Exists if (policyAirCabinGroupItemLanguage == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights PolicyAirCabinGroupItem policyAirCabinGroupItem = new PolicyAirCabinGroupItem(); policyAirCabinGroupItem = policyAirCabinGroupItemRepository.GetPolicyAirCabinGroupItem(id); RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToPolicyGroup(policyAirCabinGroupItem.PolicyGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Language SelectList SelectList languageList = new SelectList(policyAirCabinGroupItemLanguageRepository.GetUnUsedLanguages(id).ToList(), "LanguageCode", "LanguageName"); ViewData["Languages"] = languageList; //Parent Information ViewData["PolicyGroupID"] = policyAirCabinGroupItem.PolicyGroupId; ViewData["PolicyGroupName"] = policyGroupRepository.GetGroup(policyAirCabinGroupItem.PolicyGroupId).PolicyGroupName; policyAirCabinGroupItemLanguageRepository.EditItemForDisplay(policyAirCabinGroupItemLanguage); return(View(policyAirCabinGroupItemLanguage)); }
// GET: /Create public ActionResult Create(int Id) { //Get WorkFlowGroup TicketQueueGroup ticketQueueGroup = new TicketQueueGroup(); ticketQueueGroup = ticketQueueGroupRepository.GetGroup(Id); //Check Exists if (ticketQueueGroup == null) { ViewData["ActionMethod"] = "CreateGet"; return(View("RecordDoesNotExistError")); } RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToTicketQueueGroup(Id)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } TicketTypeRepository ticketTypeRepository = new TicketTypeRepository(); SelectList ticketTypeList = new SelectList(ticketTypeRepository.GetAllTicketTypes().ToList(), "TicketTypeId", "TicketTypeDescription"); ViewData["TicketTypes"] = ticketTypeList; GDSRepository gdsRepository = new GDSRepository(); SelectList gdsList = new SelectList(gdsRepository.GetAllGDSs().ToList(), "GDSCode", "GDSName"); ViewData["GDSs"] = gdsList; TicketQueueItem ticketQueueItem = new TicketQueueItem(); ticketQueueItem.TicketQueueGroupId = ticketQueueGroup.TicketQueueGroupId; ticketQueueItem.TicketQueueGroupName = ticketQueueGroup.TicketQueueGroupName; return(View(ticketQueueItem)); }
// GET: /EditSequence public ActionResult EditSequence(int groupid, int productId, int?page) { //Get Group OptionalFieldGroup optionalFieldGroup = new OptionalFieldGroup(); optionalFieldGroup = optionalFieldGroupRepository.GetGroup(groupid); //Check Exists if (optionalFieldGroup == null) { ViewData["ActionMethod"] = "ListGet"; return(View("RecordDoesNotExistError")); } //Check Access Rights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToOptionalFieldGroup(groupid)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } OptionalFieldItemSequenceRepository optionalFieldItemSequenceRepository = new OptionalFieldItemSequenceRepository(); OptionalFieldRepository optionalFieldRepository = new OptionalFieldRepository(); //Only show products where more than one item is present OptionalFieldItemSequencesVM optionalFieldItemSequencesVM = new OptionalFieldItemSequencesVM(); optionalFieldItemSequencesVM.OptionalFieldItemSequences = optionalFieldItemSequenceRepository.GetOptionalFieldItemSequences(groupid, productId, page ?? 1); optionalFieldItemSequencesVM.OptionalFieldGroup = optionalFieldGroup; //optionalFieldItemSequencesVM.OptionalField = optionalFieldRepository.GetItem(id); //optionalFieldItemSequencesVM.OptionalFieldId = id; ViewData["Page"] = page ?? 1; return(View(optionalFieldItemSequencesVM)); }
// GET: /EditSequence public ActionResult EditSequence(int groupid, int id, int?page) { //Check Exists //Get Group ServicingOptionGroup servicingOptionGroup = new ServicingOptionGroup(); servicingOptionGroup = servicingOptionGroupRepository.GetGroup(groupid); //Check Exists if (servicingOptionGroup == null) { ViewData["ActionMethod"] = "ListGet"; return(View("RecordDoesNotExistError")); } //Check Access Rights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToServicingOptionGroup(groupid)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } ServicingOptionItemSequenceRepository servicingOptionItemSequenceRepository = new ServicingOptionItemSequenceRepository(); ServicingOptionRepository servicingOptionRepository = new ServicingOptionRepository(); ServicingOptionItemSequencesVM servicingOptionItemSequencesVM = new ServicingOptionItemSequencesVM(); servicingOptionItemSequencesVM.ServicingOptionItemSequences = servicingOptionItemSequenceRepository.GetServicingOptionItemSequences(groupid, id, page ?? 1); servicingOptionItemSequencesVM.ServicingOptionGroup = servicingOptionGroup; servicingOptionItemSequencesVM.ServicingOption = servicingOptionRepository.GetServicingOption(id); servicingOptionItemSequencesVM.ServicingOptionId = id; ViewData["Page"] = page ?? 1; return(View(servicingOptionItemSequencesVM)); }
// GET: /Edit public ActionResult Edit(int id) { //Get PolicyAirParameterGroupItem PolicyAirParameterGroupItem policyAirParameterGroupItem = new PolicyAirParameterGroupItem(); policyAirParameterGroupItem = policyAirParameterGroupItemRepository.GetPolicyAirParameterGroupItem(id); //Check Exists if (policyAirParameterGroupItem == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToPolicyGroup(policyAirParameterGroupItem.PolicyGroupId)) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //populate new PolicyAirParameterGroupItem with known PolicyGroup Information policyAirParameterGroupItemRepository.EditItemForDisplay(policyAirParameterGroupItem); //Policy Group PolicyGroup policyGroup = new PolicyGroup(); policyGroup = policyGroupRepository.GetGroup(policyAirParameterGroupItem.PolicyGroupId); //Add the PolicyRouting information PolicyRouting policyRouting = policyRoutingRepository.GetPolicyRouting(policyAirParameterGroupItem.PolicyRoutingId ?? 0); PolicyAirParameterGroupItemVM policyAirParameterGroupItemViewModel = new PolicyAirParameterGroupItemVM(policyGroup, policyAirParameterGroupItem, policyRouting); //Show 'Edit' Form return(View(policyAirParameterGroupItemViewModel)); }
// GET: /Edit public ActionResult Edit(int id, string languageCode) { //Get Item ControlValueLanguage controlValueLanguage = new ControlValueLanguage(); controlValueLanguage = controlValueLanguageRepository.GetItem(id, languageCode); //Check Exists if (controlValueLanguage == null) { ViewData["ActionMethod"] = "EditGet"; return(View("RecordDoesNotExistError")); } //AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToReferenceInfo()) { ViewData["Message"] = "You do not have access to this item"; return(View("Error")); } //Parent data ControlValue controlValue = new ControlValue(); controlValue = controlValueRepository.GetControlValue(id); ViewData["ControlValueId"] = id; ViewData["ControlValue"] = controlValue.ControlValue1; //Language SelectList SelectList languageList = new SelectList(controlValueLanguageRepository.GetUnUsedLanguages(id).ToList(), "LanguageCode", "LanguageName"); ViewData["Languages"] = languageList; controlValueLanguageRepository.EditItemForDisplay(controlValueLanguage); return(View(controlValueLanguage)); }
public ActionResult Create(PolicyHotelCapRateGroupItem policyHotelCapRateGroupItem) { PolicyGroup policyGroup = policyGroupRepository.GetGroup(policyHotelCapRateGroupItem.PolicyGroupId); if (policyGroup == null) { ViewData["ActionMethod"] = "CreatePost"; return(View("RecordDoesNotExistError")); } //Check AccessRights RolesRepository rolesRepository = new RolesRepository(); if (!rolesRepository.HasWriteAccessToPolicyGroup(policyHotelCapRateGroupItem.PolicyGroupId)) { return(View("Error")); } //Update Model from Form try { UpdateModel(policyHotelCapRateGroupItem); } catch { return(View("Error")); } try { policyHotelCapRateGroupItemRepository.Add(policyHotelCapRateGroupItem); } catch { //Could not insert to database return(View("Error")); } return(RedirectToAction("List", new { id = policyHotelCapRateGroupItem.PolicyGroupId })); }
public void RegisterUser(Client c) { UsersRepository ur = new UsersRepository(); RolesRepository rr = new RolesRepository(); ur.Entity = rr.Entity; if (ur.DoesUsernameExist(c.Username))//do or email aswell (do a method like the does username exists in the repository.. put the email verification in an else if statement { throw new Exception("Username already exists. Please input a different one"); } else if (ur.DoesEmailExist(c.Email)) { throw new Exception("Email already exists. Please input a different one"); } else { c.UserType = 2; ur.AddClient(c); Role defaultRole = rr.GetRoleById(2); //getting the user role from the database rr.AllocateRole(defaultRole, c); //allocating the role to the user } }
public ActionResult EditRole(int id) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); RolesRepository rolesRepository = new RolesRepository(context); AuthenticatingActionsRepository authenticatingActionsRepository = new AuthenticatingActionsRepository(context); RolesEditRoleVM model = new RolesEditRoleVM(); if (id > 0) { Role role = rolesRepository.GetAll(filter: r => r.ID == id, includeProperties: "AuthenticatingActions").FirstOrDefault(); PopulateAssignedAuthenticatingActions(role, authenticatingActionsRepository); model.ID = role.ID; model.Name = role.Name; } else { Role role = new Role(); role.AuthenticatingActions = new List<AuthenticatingAction>(); PopulateAssignedAuthenticatingActions(role, authenticatingActionsRepository); } return View(model); }
public ActionResult EditRole(RolesEditRoleVM model, string[] assignedAuthenticatingActions) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); Role role = null; if (!this.ModelState.IsValid) { AuthenticatingActionsRepository authenticatingActionsRepository = new AuthenticatingActionsRepository(context); var authenticatingActions = authenticatingActionsRepository.GetAll(); List<AuthenticatingActionsVM> authenticatingActionsViewModel = new List<AuthenticatingActionsVM>(); foreach (var action in authenticatingActions) { authenticatingActionsViewModel.Add(new AuthenticatingActionsVM { ID = action.ID, Name = action.Name, IsAssigned = false }); } ViewBag.AuthenticatingActions = authenticatingActionsViewModel; return View(model); } using (UnitOfWork unitOfWork = new UnitOfWork(context)) { try { var authenticatingActionsRepository = new AuthenticatingActionsRepository(unitOfWork); var rolesRepository = new RolesRepository(unitOfWork); if (model.ID > 0) { role = rolesRepository.GetAll(filter: r => r.ID == model.ID, includeProperties: "AuthenticatingActions").FirstOrDefault(); } else { role = new Role(); role.AuthenticatingActions = new List<AuthenticatingAction>(); } role.Name = model.Name; UpdateAuthenticatingActions(assignedAuthenticatingActions, role, authenticatingActionsRepository); rolesRepository.Save(role); PopulateAssignedAuthenticatingActions(role, authenticatingActionsRepository); unitOfWork.Commit(); } catch (Exception ex) { unitOfWork.RollBack(); throw ex; } } return RedirectToAction("Index", "Roles"); }
public void ReadSingleEntityAllNotNullTest() { _dataReader.Expect(x => x.IsDBNull(1)).Repeat.Once().Return(false); _dataReader.Expect(x => x.IsDBNull(2)).Repeat.Once().Return(false); _dataReader.Expect(x => x.GetInt32(0)).Return(_role.Key).Repeat.Once(); _dataReader.Expect(x => x.GetString(1)).Return(_role.Name).Repeat.Once(); _dataReader.Expect(x => x.GetString(2)).Return(_role.Description).Repeat.Once(); _mockRepository.ReplayAll(); RolesRepository rolesRepository = new RolesRepository(_dbWrapper); Role actual = rolesRepository.ReadSingleEntity(_dataReader); Assert.AreEqual(_role.Key, actual.Key); Assert.AreEqual(_role.Name, actual.Name); Assert.AreEqual(_role.Description, actual.Description); _mockRepository.VerifyAll(); }
public void PopulateAssignedAuthenticatingActions(Role role, AuthenticatingActionsRepository authenticatingActionsRepository) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); RolesRepository rolesRepository = new RolesRepository(context); var authenticatingActions = authenticatingActionsRepository.GetAll(); var roleAuthenticatingActions = new HashSet<int>(role.AuthenticatingActions.Select(r => r.ID)); var model = new List<AuthenticatingActionsVM>(); foreach (var action in authenticatingActions) { model.Add(new AuthenticatingActionsVM { ID = action.ID, Name = action.Name, IsAssigned = roleAuthenticatingActions.Contains(action.ID) }); } ViewBag.AuthenticatingActions = model; }
public ActionResult Index() { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); RolesRepository rolesRepository = new RolesRepository(context); RolesIndexVM model = new RolesIndexVM(); this.TryUpdateModel(model); model.RolesPager = model.RolesPager ?? new GenericPagerVM(); model.RolesPager.CurrentPage = model.RolesPager.CurrentPage == 0 ? 1 : model.RolesPager.CurrentPage; model.RolesPager.PagesCount = this.GetPagesCount(); model.RolesList = rolesRepository.GetAll(model.RolesPager.CurrentPage, ApplicationConfiguration.ItemsPerPage); model.RolesPager.Prefix = "RolesPager"; model.RolesPager.Action = "Index"; model.RolesPager.Controller = "Roles"; model.RolesPager.CurrentParameters = new Dictionary<string, object>() { {"RolesPager.CurrentPage",model.RolesPager.CurrentPage} }; return View(model); }
public int GetPagesCount() { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); RolesRepository rolesRepository = new RolesRepository(context); int pagesCount = 0; int rolesCount = rolesRepository.Count(); int itemsPerPage = ApplicationConfiguration.ItemsPerPage; pagesCount = rolesCount / itemsPerPage; if ((rolesCount % itemsPerPage) > 0) { pagesCount++; } return pagesCount; }
public RolesBusiness(SqlConnection sqlConnection) { rolesRep = new RolesRepository(sqlConnection); }
public ActionResult EditUser(UsersEditUserVM model, string[] assignedRoles) { LibraryManagementSystemContext context = new LibraryManagementSystemContext(); ModelState.Remove("DateOut"); UsersRepository usersRepositoryContext = new UsersRepository(context); if (model.Email != null && usersRepositoryContext.GetAll().Any(u => u.Email == model.Email) && model.ID != usersRepositoryContext.GetAll(filter: u => u.Email == model.Email).FirstOrDefault().ID) { ModelState.AddModelError("Email", "* email already exists"); } if (model.ID <= 0 && string.IsNullOrEmpty(model.Password)) { this.ModelState.AddModelError("Password", "* password required"); } if (!this.ModelState.IsValid) { RolesRepository rolesRepository = new RolesRepository(context); var allRoles = rolesRepository.GetAll(); List<AssignedRolesVM> assignedRolesViewModel = new List<AssignedRolesVM>(); foreach (var role in allRoles) { assignedRolesViewModel.Add(new AssignedRolesVM { ID = role.ID, Name = role.Name, IsAssigned = false }); } ViewBag.Roles = assignedRolesViewModel; return View(model); } TryUpdateModel(model); User user = null; using (UnitOfWork unitOfWork = new UnitOfWork(context)) { try { UsersRepository usersRepositoryUnitOfWork = new UsersRepository(unitOfWork); RolesRepository rolesRepository = new RolesRepository(unitOfWork); if (model.ID > 0) { user = usersRepositoryUnitOfWork.GetAll(filter: u => u.ID == model.ID, includeProperties: "Roles").FirstOrDefault(); user.PersonalNumber = model.PersonalNumber; } else { user = new User(); user.Roles = new List<Role>(); user.PersonalNumber = usersRepositoryUnitOfWork.GetAll().LastOrDefault().PersonalNumber + 1; } user.Password = (model.Password != null) && (model.Password.Trim() != String.Empty) ? model.Password.Trim() : user.Password; user.FirstName = model.FirstName; user.Email = model.Email; user.Address = model.Address; user.LastName = model.LastName; user.Birthday = model.Birthday; user.DateIn = model.DateIn; user.DateOut = model.DateOut != null ? model.DateOut : null; UpdateUserRoles(assignedRoles, user, rolesRepository); usersRepositoryUnitOfWork.Save(user); PopulateAssignedRoles(user, rolesRepository); unitOfWork.Commit(); } catch (Exception ex) { unitOfWork.RollBack(); throw ex; } } return RedirectToAction("Index", "Users"); }
private void UpdateUserRoles(string[] assignedRoles, User user, RolesRepository rolesRepository) { if (assignedRoles == null) { return; } var assignedRolesHS = new HashSet<string>(assignedRoles); var userRoles = new HashSet<int>(user.Roles.Select(u => u.ID)); foreach (var role in rolesRepository.GetAll()) { if (assignedRolesHS.Contains(role.ID.ToString())) { if (!userRoles.Contains(role.ID)) { user.Roles.Add(role); } } else if (userRoles.Contains(role.ID)) { user.Roles.Remove(role); } } }
private void PopulateAssignedRoles(User user, RolesRepository rolesRepository) { var allRoles = rolesRepository.GetAll(); HashSet<int> userRoles = new HashSet<int>(user.Roles.Select(r => r.ID)); List<AssignedRolesVM> model = new List<AssignedRolesVM>(); foreach (var role in allRoles) { model.Add(new AssignedRolesVM { ID = role.ID, Name = role.Name, IsAssigned = userRoles.Contains(role.ID) }); } ViewBag.Roles = model; }