public void SetUp()
        {
            Mock <IEanEicCheckerHttpClient> mockClient = new Mock <IEanEicCheckerHttpClient>();

            //for "invalid" ean code returns invalid, ean ok otherwise
            mockClient.Setup(c => c.Post(It.IsAny <EanEicCode>()))
            .Returns(
                (EanEicCode code) =>
                code.Code == "invalid"
                              ? new CheckResult(CheckResultCode.EanInvalidCheckCharacter)
                              : new CheckResult(CheckResultCode.EanOk));

            EanEicCheckerHttpClient = mockClient.Object;

            OpmRepository = new OpmInMemoryRepository();
            OpmRepoFiller.Fill(OpmRepository, PositiveTestData);
            IUserAccessService userAccessService = new UserAccessService(new UserAccessInMemoryRepository(),
                                                                         new TimeSpan(0, 1, 0), 999);

            IIdentityManagement identityManagement = new IdentityManagementMock();
            IOpmVerificator     opmVerificator     = new OpmVerificator(identityManagement, mockClient.Object, OpmRepository,
                                                                        userAccessService);

            Controller = new OpmDuplicityController(opmVerificator, userAccessService)
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };
        }
Пример #2
0
        public ActionResult ftUserAccessList(jQueryDataTableParamModel Params, string _accessInd = null)
        {
            var _filtered = new List <UserAccess>();
            var list      = UserAccessService.GetUserAccesses(_accessInd).userAccesses;

            if (!string.IsNullOrEmpty(Params.sSearch))
            {
                Params.sSearch = Params.sSearch.ToLower();
            }

            if (!string.IsNullOrEmpty(Params.sSearch))
            {
                _filtered = list.Where(p => p.UserId.ToLower().Contains(Params.sSearch) || p.Name.ToLower().Contains(Params.sSearch) || p.EmailAddr.ToLower().Contains(Params.sSearch) || p.SelectedDeptId.ToLower().Contains(Params.sSearch) || p.SelectedMapUserId.ToLower().Contains(Params.sSearch)).ToList();
                _filtered = _filtered.Skip(Params.iDisplayStart).Take(Params.iDisplayLength).ToList();
            }
            else
            {
                _filtered = list.Skip(Params.iDisplayStart).Take(Params.iDisplayLength).ToList();
            }
            return(Json(new
            {
                sEcho = Params.sEcho,
                iTotalRecords = list.Count(),
                iTotalDisplayRecords = list.Count(),
                aaData = _filtered.Select(x => new object[] { x.UserId, x.Name, x.SeletedTitle, x.selectedSts, x.ContactNo, x.EmailAddr, x.SelectedDeptId, x.SelectedMapUserId, x.SelectedAccessInd })
            }, JsonRequestBehavior.AllowGet));
        }
Пример #3
0
        public ActionResult Select(string accessInd, string userId)
        {
            var viewModel = new UserAccessViewModel()
            {
                _userAccessPermission = (UserAccessService.GetUserAccessDetail(accessInd, userId)).userAccess
            };

            viewModel._userAccessPermission.SelectedAccessInd = accessInd;
            return(View(viewModel));
        }
Пример #4
0
        }//end function IsAuthenticated

        public static bool IsAllowed(string Role, string MenuName, string MenuGroupName)
        {
            IUserAccountService _userAccountService = new UserAccountService(new UserAccountRepository(), new UserAccountValidator());
            IUserAccessService  _userAccessService  = new UserAccessService(new UserAccessRepository(), new UserAccessValidator());
            IUserMenuService    _userMenuService    = new UserMenuService(new UserMenuRepository(), new UserMenuValidator());

            UserAccount userAccount = _userAccountService.GetObjectById(GetUserId());

            if (userAccount == null)
            {
                return(false);
            }
            if (userAccount.IsAdmin)
            {
                return(true);
            }
            UserMenu userMenu = _userMenuService.GetObjectByNameAndGroupName(MenuName, MenuGroupName);

            if (userMenu != null)
            {
                UserAccess userAccess = _userAccessService.GetObjectByUserAccountIdAndUserMenuId(userAccount.Id, userMenu.Id);
                if (userAccess != null)
                {
                    switch (Role.ToLower())
                    {
                    case "manualpricing": return(userAccess.AllowSpecialPricing);

                    case "view": return(userAccess.AllowView);

                    case "create": return(userAccess.AllowCreate);

                    case "edit": return(userAccess.AllowEdit);

                    case "delete": return(userAccess.AllowDelete);

                    case "undelete": return(userAccess.AllowUndelete);

                    case "confirm": return(userAccess.AllowConfirm);

                    case "unconfirm": return(userAccess.AllowUnconfirm);

                    case "paid": return(userAccess.AllowPaid);

                    case "unpaid": return(userAccess.AllowUnpaid);

                    case "reconcile": return(userAccess.AllowReconcile);

                    case "unreconcile": return(userAccess.AllowUnreconcile);

                    case "print": return(userAccess.AllowPrint);
                    }
                }
            }
            return(false);
        }//end function IsAllowed
Пример #5
0
        public async Task <ActionResult> GetAdjDropDown()
        {
            var _Payment = new TxnAdjustment
            {
                Owner       = (await UserAccessService.GetUserAccessListSelect()).RefLibLst,
                AdjTxnCode  = await BaseService.WebGetTxnCode("I", "AdjustTxnCategoryMapInd", "Y"),
                PaymentType = await BaseService.GetRefLib("TxnShortDesc", null, "2")
            };

            return(Json(new { Selects = _Payment, Model = new MultiPayment() }, JsonRequestBehavior.AllowGet));
        }
Пример #6
0
        private void ShowNewForm(object sender, EventArgs e)
        {
            IUserService     userService       = new UserService();
            ILocationSerVice userAccessService = new  UserAccessService();
            FrmUser          childForm         = new FrmUser(userService, userAccessService);

            childForm.MdiParent = this;
            // childForm.Text = "FrmUser " + childFormNumber++;
            childForm.Dock = DockStyle.Fill;

            childForm.Show();
        }
Пример #7
0
        public async Task <ActionResult> GetUserAccessDetail(string accessInd, string UserId)
        {
            var _userAccessPermission = (UserAccessService.GetUserAccessDetail(accessInd, UserId)).userAccess;
            var Selects = new UserAccess
            {
                Sts       = await BaseService.GetRefLib("UserSts"),
                MapUserId = await UserAccessService.GetMap(),
                AccessInd = await BaseService.GetRefLib("AccessInd"),
                Title     = await BaseService.GetRefLib("Title"),
                DeptId    = await UserAccessService.GetRefLib("Dept")
            };

            return(Json(new { User = _userAccessPermission, AccessInd = accessInd, _Selects = Selects }, JsonRequestBehavior.AllowGet));
        }
Пример #8
0
        public async Task <ActionResult> GetDropDown()
        {
            var _Payment = new TxnAdjustment
            {
                TxnCode      = await BaseService.GetPymtTxnCd("Pymt", null),
                Owner        = (await UserAccessService.GetUserAccessListSelect()).RefLibLst,
                IssueingBank = await BaseService.GetRefLib("Bank"),
                PaymentType  = await BaseService.GetRefLib("TxnShortDesc", null, "10"),
                GLSettlement = await BaseService.GetRefLib("GLSettlement")
            };
            var multipayment = new MultiPayment();

            multipayment.ChequeAmt = "0";
            return(Json(new { Selects = _Payment, Model = multipayment }, JsonRequestBehavior.AllowGet));
        }
Пример #9
0
        public new void SetUp()
        {
            base.SetUp();
            IUserAccessService userAccessService = new UserAccessService(new UserAccessInMemoryRepository(),
                                                                         new TimeSpan(0, 1, 0), MaxUserLimit);

            IIdentityManagement identityManagement = new IdentityManagementMock();
            IOpmVerificator     opmVerificator     = new OpmVerificator(identityManagement, EanEicCheckerHttpClient,
                                                                        OpmRepository,
                                                                        userAccessService);

            Controller = new OpmDuplicityController(opmVerificator, userAccessService)
            {
                Request       = new HttpRequestMessage(),
                Configuration = new HttpConfiguration()
            };
        }
        public async Task <IActionResult> Access(string id)
        {
            var user = _adminService.GetUserEntity(id);

            ViewBag.User = user?.ToDto()?.ToViewModel();
            var model = new List <UserAccessGroupingModel>();

            if (user == null)
            {
                Swal(false, "کاربری یافت نشد");
                return(RedirectToAction(nameof(Index)));
            }
            var roles = await _adminService.GetRoles(user);

            model = UserAccessService.GetGroupingAccess(roles.ToList());
            return(View(model));
        }
Пример #11
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["userid"] == null || Session["username"] == null)
            {
                Response.Redirect("~/logout.aspx");
            }

            //new SessionManager().IsSessionActive(this.Response, this.Session);
            Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.Cache.SetNoStore();

            List <UserAccess> ua = new UserAccessService().GetUserAccess(Session["userid"].ToString());

            //string[] roleLists = Session["Role"].ToString().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            foreach (UserAccess ac in ua)
            {
                // mMain.Items.FindByName(ac.xMenu).Visible = true;
                mMain.Groups.FindByName(ac.xMenu).Visible = true;
                List <Permission> up = new PermissionService().GetPermissions(Session["userid"].ToString(), ac.MainId);
                foreach (Permission ap in up)
                {
                    //nbMain.Items.FindByName(ap.xSubMenu).Visible = true;
                    mMain.Items.FindByName(ap.xSubMenu).Visible = true;
                }
            }



            if (File.Exists(Server.MapPath("~/pictures/img_" + Session["userid"].ToString() + ".jpg")))
            {
                imgStaff.ImageUrl = "~/pictures/img_" + Session["userid"].ToString() + ".jpg";
            }
            else
            {
                imgStaff.ImageUrl = "~/images/default-person.jpg";
            }

            lbStaffNames.Text    = Session["userfname"].ToString();
            divSchName.InnerText = new InstanceConfigServices().GetConfig("schName");
            //mmHeader.Style.Add("background-image", "url(images/themes/"+ new InstanceConfigServices().GetConfig("theme") + ".png)");
            //mmHeader.InnerText = new InstanceConfigServices().GetConfig("schName");
            //ssHeader.Style.Add("background-image", "url(images/themes/"+ new InstanceConfigServices().GetConfig("theme") + ".png)");
        }
Пример #12
0
        public async Task <ActionResult> SaveUserAccess(UserAccessViewModel model, bool isUpdate = false)
        {
            string generatedPassword;
            var    _permissionAccess = model._userAccessPermission;

            _permissionAccess.Password = AppConfigurationHelper.PasswordGenerator();
            generatedPassword          = _permissionAccess.Password;


            _permissionAccess.Password = AppConfigurationHelper.AutoHashing(_permissionAccess.Password);
            var _SaveUserAccess = await UserAccessService.SaveUserAccess(_permissionAccess, isUpdate);

            if (_SaveUserAccess.flag == 0)
            {
                GenerateUserFolder(_permissionAccess.UserId);
            }
            if (_SaveUserAccess.flag == 0 && !string.IsNullOrEmpty(model._userAccessPermission.SelectedMapUserId))
            {
                var _SaveUserAccessMapping = await UserAccessService.SaveUserAccessMapping(model._userAccessPermission);

                if (isUpdate && !_permissionAccess.ChangePasswordInd)
                {
                    return(Json(new { resultCd = _SaveUserAccessMapping }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    _SaveUserAccessMapping.desp = _SaveUserAccessMapping.flag == 0 ? _SaveUserAccessMapping.desp + ", password: "******", password: " + generatedPassword : _SaveUserAccess.desp;
                return(Json(new { resultCd = _SaveUserAccess }, JsonRequestBehavior.AllowGet));
            }
        }
Пример #13
0
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            // Uncomment the following line of code to enable query support for actions with an IQueryable or IQueryable<T> return type.
            // To avoid processing unexpected or malicious queries, use the validation settings on QueryableAttribute to validate incoming queries.
            // For more information, visit http://go.microsoft.com/fwlink/?LinkId=279712.
            //config.EnableQuerySupport();

            // To disable tracing in your application, please comment out or remove the following line of code
            // For more information, refer to: http://www.asp.net/web-api
            config.EnableSystemDiagnosticsTracing();

            bool recreateDatabase = Boolean.Parse(System.Configuration.ConfigurationManager.AppSettings["RecreateDatabase"]);

            _log.Info("DB settings:" + DbRepositoryUtil.GetDbInfo());

            if (recreateDatabase)
            {
                _log.Info("DB recreate started.");
                DbRepositoryUtil.RecreateDatabase();
                //TODO SP: move sample data to AppData
                String pathToSampleData = HttpContext.Current.Server.MapPath("~/Persistence/OpmRepoSampleData.csv");
                DbRepositoryUtil.FillSampleOpm(pathToSampleData);
                _log.Info("DB recreate finished.");
            }

            #region IoC

            _log.Info("Initializing dependencies.");
            var container = new UnityContainer();
            container.RegisterType <IOpmVerificator, OpmVerificator>(new HierarchicalLifetimeManager());

            string idmUrl           = System.Configuration.ConfigurationManager.AppSettings["IdmUrl"];
            IIdentityManagement idm = new IdentityManagement(idmUrl);
            container.RegisterInstance(idm);
            _log.Info("IDM found on " + idmUrl + ".");

            string eanEicCheckerUrl = System.Configuration.ConfigurationManager.AppSettings["EanEicCheckerUrl"];
            IEanEicCheckerHttpClient eanEicCheckerHttpClient = new EanEicCheckerHttpClient(eanEicCheckerUrl);
            container.RegisterInstance(eanEicCheckerHttpClient);
            _log.Info("EAN/EIC checker found on " + eanEicCheckerUrl + ".");

            IOpmRepository opmRepository = new OpmDbRepository();
            container.RegisterInstance(opmRepository);

            IUserAccessRepository userAccessRepository = new UserAccessDbRepository();

            int maxUserLimit = int.Parse(System.Configuration.ConfigurationManager.AppSettings["MaxUserLimit"]);
            int userLimitTimeWindownInSeconds    = int.Parse(System.Configuration.ConfigurationManager.AppSettings["UserLimitTimeWindownInSeconds"]);
            IUserAccessService userAccessService = new UserAccessService(userAccessRepository, new TimeSpan(0, 0, 0, userLimitTimeWindownInSeconds), maxUserLimit);
            container.RegisterInstance(userAccessService);
            _log.Info("User access limitation initialized with user limit [" + maxUserLimit + "], time window for access limitation [" + userLimitTimeWindownInSeconds + " s].");

            config.DependencyResolver = new UnityResolver(container);
            _log.Info("Init finished successfully.");

            #endregion IoC
        }
Пример #14
0
        public async Task <JsonResult> FillData(string Prefix, string ApplId)
        {
            switch (Prefix)
            {
            case "gen":
                var _Info   = (await CardAcctSignUpService.GetApplicationGeneralInfo(ApplId)).acctSignUp;
                var Selects = new AcctSignUp
                {
                    CycleNo       = await BaseService.GetCycle("I"),
                    PlasticType   = await BaseService.GetPlasticType(),
                    CorporateAcct = await BaseService.WebGetCorpCd(true),
                    //Position = await BaseClass.WebGetRefLib("Occupation"),
                    CompanyType      = await BaseService.GetRefLib("CmpyType"),
                    BillingType      = await BaseService.GetRefLib("BillingType"),
                    InvoicePref      = await BaseService.GetRefLib("InvPrefer"),
                    BusinessCategory = await BaseService.GetRefLib("BusnCategory"),
                    LangId           = await BaseService.GetRefLib("Language"),
                    TaxCategory      = await BaseService.GetRefLib("TaxCategory"),
                    NatureOfBusiness = await BaseService.GetRefLib("IndustryCd"),
                    ClientClass      = await BaseService.GetRefLib("ClientClass"),
                    ClientType       = await BaseService.GetRefLib("ClientType"),
                    PaymentMode      = await BaseService.GetRefLib("PaymtMethod"),
                    ReasonCd         = await BaseService.GetCAOReasonCd(),
                };
                return(Json(new { Model = _Info, Selects = Selects }, JsonRequestBehavior.AllowGet));


            case "fin":
                var _finInfo = (await AccountOpService.GetFinancialInfoForm(Convert.ToInt32(ApplId))).financialInfo;
                return(Json(_finInfo, JsonRequestBehavior.AllowGet));

            case "cao":
                var _credAssesInfo = (await CardAcctSignUpService.GetCAOGeneralInfo(null, ApplId)).creditAssesOperation;
                var PaymentTerm    = await BaseService.GetRefLib("PaymtTerm");

                var temp = PaymentTerm.SkipWhile(p => p.Value == "").ToList();
                PaymentTerm = (temp.OrderBy(p => Convert.ToInt32(p.Value))).ToList();

                var _CaoSelects = new CreditAssesOperation
                {
                    PaymentMode    = await BaseService.GetRefLib("PaymtMethod"),
                    PaymentTerm    = PaymentTerm,
                    TerritoryCd    = await BaseService.GetRefLib("SaleTerritory"),
                    RiskCategory   = await BaseService.GetRefLib("RiskCategory"),
                    AssesmtType    = await BaseService.GetRefLib("AssessmentType"),
                    DepositType    = await BaseService.GetRefLib("DepositType"),
                    BankAcctType   = await BaseService.GetRefLib("BankAcctType"),
                    BankName       = await BaseService.GetRefLib("Bank"),
                    ReasonCd       = await BaseService.GetCAOReasonCd(),
                    AppvStsBackOff = await BaseService.GetRefLib("ApplSts"),
                    AppvStsEDP     = await BaseService.GetRefLib("ApplSts"),
                    AppvStsQAOff   = await BaseService.GetRefLib("ApplSts"),
                    Qualitative    = await BaseService.GetRefLib("QualitativeRating"),
                    Quantitative   = await BaseService.GetRefLib("QuantitativeRating")
                    , TradingArea  = await BaseService.GetRefLib("TradingArea")
                };
                _credAssesInfo.GracePeriod = 20;
                return(Json(new { Model = _credAssesInfo, Selects = _CaoSelects }, JsonRequestBehavior.AllowGet));

            case "vel":
                var velocityLimitsList = new VeloctyLimitListMaintModel
                {
                    VelocityInd = await BaseService.GetRefLib("VelocityInd"),
                    ProdCd      = await BaseService.WebGetProduct(null),
                    CtrlType    = await BaseService.GetRefLib("CollateralType"),
                };
                var _Model = new VeloctyLimitListMaintModel
                {
                    UserId       = HttpContext.User.Identity.Name,
                    CreationDate = System.DateTime.Now.ToString("dd/MM/yyyy")
                };
                return(Json(new { Selects = velocityLimitsList, Model = _Model }, JsonRequestBehavior.AllowGet));

            case "dep":
                var _adi = new CreditAssesOperation
                {
                    DepositType  = await BaseService.GetRefLib("DepositType", null, "1"),
                    BankAcctType = await BaseService.GetRefLib("BankAcctType"),
                    BankName     = await BaseService.GetRefLib("SecurityDepositBank"),
                };
                return(Json(new { Selects = _adi, Model = new CreditAssesOperation() }, JsonRequestBehavior.AllowGet));

            case "skd":
                var Model = new SKDS
                {
                    UserId       = this.GetUserId,
                    CreationDate = NumberExtensions.DateConverter(DateTime.Now.ToShortDateString()),
                };
                var selects = new SKDS
                {
                    Sts          = await BaseService.GetRefLib("prodsts"),
                    SubsidyType  = await BaseService.GetRefLib("SubsidyLevel"),
                    Category     = BaseService.GetDataVersion().dataVersionLst,
                    SubsidyLevel = await BaseService.GetRefLib("SubsidyLevel")
                };
                return(Json(new { Selects = selects, Model = Model }, JsonRequestBehavior.AllowGet));

            case "add":
                var AddrSelects = new AddrListMaintModel
                {
                    addrtype = await BaseService.GetRefLib("Address"),
                    Country  = await BaseService.GetRefLib("Country"),
                    region   = await BaseService.GetRefLib("RegionCd"),
                };
                var AddrModel = new AddrListMaintModel
                {
                    UserId       = this.GetUserId,
                    CreationDate = System.DateTime.Now.ToString(),
                    RefTo        = "APPL"
                };
                return(Json(new { Selects = AddrSelects, Model = AddrModel }, JsonRequestBehavior.AllowGet));

            case "con":
                var otherContactList = new ContactLstModel
                {
                    ContactType = await BaseService.GetRefLib("Contact"),
                    Occupation  = await BaseService.GetRefLib("Occupation"),
                    Sts         = await BaseService.GetRefLib("ContactSts"),
                };
                var model = new ContactLstModel
                {
                    UserId       = HttpContext.User.Identity.Name,
                    CreationDate = System.DateTime.Now.ToString()
                };
                return(Json(new { Selects = otherContactList, Model = model }, JsonRequestBehavior.AllowGet));

            case "veh":
                var _VehiclesListModel = new VehiclesListModel
                {
                    VehColor = await BaseService.GetRefLib("Color"),
                    VehMaker = await BaseService.GetRefLib("VehMaker"),
                    VehModel = await BaseService.GetRefLib("VehSubModel"),
                    //check again
                    CardType = await BaseService.GetCardType(),
                    Sts      = await BaseService.GetRefLib("AcctSts"),
                    VehYr    = BaseService.WebGetYear(),
                    VehType  = await BaseService.GetRefLib("VehType")
                };
                return(Json(new { Selects = _VehiclesListModel, Model = new VehiclesListModel() }, JsonRequestBehavior.AllowGet));

            case "mis":
                var _Mis = new MiscellaneousInfoModel
                {
                    Designation = await BaseService.GetRefLib("Occupation")
                };
                return(Json(new { Model = new MiscellaneousInfoModel(), Selects = _Mis }, JsonRequestBehavior.AllowGet));

            case "csc":
                return(Json(new { Model = new CostCentre(), Selects = "" }, JsonRequestBehavior.AllowGet));

            case "apr":
                var _milestone = new Milestone
                {
                    Priority = await BaseService.GetRefLib("MilestonePriority"),
                    ReasonCd = await BaseService.GetRefLib("ReasonCd"),
                    Status   = await BaseService.GetRefLib("MilestoneSts"),
                    Owner    = (await UserAccessService.GetUserAccessListSelect()).RefLibLst
                };

                var _Status     = _milestone.Status.ToList();
                var PendingItem = _Status.FirstOrDefault(p => p.Value == "P");
                _Status.Remove(PendingItem);
                _milestone.Status = _Status;
                return(Json(new { Selects = _milestone, Model = new Milestone() }, JsonRequestBehavior.AllowGet));

            default:
                HttpContext.Response.StatusCode = 404;
                return(Json(null, JsonRequestBehavior.AllowGet));
            }
        }
Пример #15
0
        public async Task <ActionResult> SaveWebUserAccessLevel(List <WebModule> ModuleList, List <WebPage> PageList, List <WebControl> CtrlList, List <WebPageSection> SectionList, string UserId)
        {
            var _SaveWebUserAccessLevel = await UserAccessService.SaveWebUserAccessLevel(ModuleList, PageList, CtrlList, SectionList, UserId);

            return(Json(new { resultCd = _SaveWebUserAccessLevel }, JsonRequestBehavior.AllowGet));
        }
Пример #16
0
        public ActionResult ftUserAccessDetail(string accessind, string userid)
        {
            var data = (UserAccessService.GetUserAccessDetail(accessind, userid)).userAccess;

            return(Json(new { userAccess = data }, JsonRequestBehavior.AllowGet));
        }