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));
        }
Example #7
0
        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));
        }
Example #9
0
        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));
        }
Example #11
0
        // 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));
        }
Example #14
0
        // 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));
        }
Example #16
0
        // 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);
        }
Example #20
0
        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);
        }
Example #21
0
        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));
        }
Example #23
0
        // 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));
        }
Example #24
0
        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 }));
        }
Example #25
0
        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));
        }
Example #26
0
        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));
        }
Example #27
0
        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 }));
        }
Example #35
0
        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;
        }