コード例 #1
0
        public async Task <IActionResult> CheckUserAuth()
        {
            if (User.Identity.IsAuthenticated)
            {
                var userId             = User.GetUserId();
                var fainancialPeriodId = User.GeFinancialPeriodId();
                var userInfo           = await userService.GetUserById(userId);

                var roleName = await userService.GetRoleByUserId(userId);

                var userPermissions = await userService.GetUserPermissions(userId);

                var returnJson = JsonResponseStatus.Success(new
                {
                    id                = userInfo.Id,
                    firstName         = userInfo.FirstName,
                    lastName          = userInfo.LastName,
                    userName          = userInfo.UserName,
                    userRole          = roleName,
                    userPermissions   = userPermissions,
                    financialPeriodId = fainancialPeriodId
                });
                return(returnJson);
            }

            return(JsonResponseStatus.Error(new { Info = "کاربر مورد نظر در سیستم لاگین نیست" }));
        }
コード例 #2
0
        public async Task <IActionResult> CreateSales([FromBody] CreateSaleDto createSaleDto)
        {
            if (ModelState.IsValid)
            {
                var res = await _saleService.Create(createSaleDto);

                switch (res)
                {
                case SalesResult.CanNotUpdateSoldExDecInDataBase:
                    return(JsonResponseStatus.Error(new
                                                    { Info = "هنوز اظهارنامه به لیست فروش رفته ها وارد نشده است " }));

                case SalesResult.CanNotUpdateSoldPiDetailInDataBase:
                    return(JsonResponseStatus.Error(new { Info = "هنوز PI به لیست فروش رفته ها وارد نشده است " }));

                case SalesResult.SumBrokerAccountBalanceIsLowerThanPrice:
                    return(JsonResponseStatus.Error(new
                                                    { Info = " مقدار انتخاب شده برای فروش از مقدار موجودی کارگزار بیشتر است" }));

                case SalesResult.ExDecAccountBalanceIsLowerThanPrice:
                    return(JsonResponseStatus.Error(new
                                                    { Info = "مقدارانتخاب شده برای فروش از مقدار  موجودی اظهارنامه بیشتر است" }));
                }
            }

            return(JsonResponseStatus.Success());
        }
コード例 #3
0
        public async Task <IActionResult> LogOut()
        {
            if (User.Identity.IsAuthenticated)
            {
                await HttpContext.SignOutAsync();

                return(JsonResponseStatus.Success());
            }
            return(JsonResponseStatus.Error());
        }
コード例 #4
0
        public async Task <IActionResult> GetCustomersSold([FromQuery] FilterCurrencyCustomerDto filterDto)
        {
            if (ModelState.IsValid)
            {
                var piDetail = await _saleService.GetSoldPerCustomers(filterDto, User.GeFinancialPeriodId());

                return(JsonResponseStatus.Success(piDetail));
            }
            return(JsonResponseStatus.Error());
        }
コード例 #5
0
        public async Task <IActionResult> GetUserBasketDetail()
        {
            if (User.Identity.IsAuthenticated)
            {
                var details = await _orderService.GetUserBasketDetail(User.GetUserId());

                return(JsonResponseStatus.Success(details));
            }
            return(JsonResponseStatus.Error());
        }
コード例 #6
0
        public async Task <IActionResult> GetFilterCurrencySale(long customerId)
        {
            if (ModelState.IsValid)
            {
                var customerDetail = await _saleService.GetListSalesByCustomerId(customerId, User.GeFinancialPeriodId());

                return(JsonResponseStatus.Success(customerDetail));
            }
            return(JsonResponseStatus.Error());
        }
コード例 #7
0
        public async Task <IActionResult> GetBrokerList()
        {
            if (User.Identity.IsAuthenticated)
            {
                var brokerList = await _brokerService.GetBrokers();

                return(JsonResponseStatus.Success(brokerList));
            }

            return(JsonResponseStatus.Error(new { info = "هیچ کارگزاری دریافت نشد " }));
        }
コード例 #8
0
        public async Task <IActionResult> GetCustomerList()
        {
            if (User.Identity.IsAuthenticated)
            {
                var customerList = await _customerService.GetCustomers();

                return(JsonResponseStatus.Success(customerList));
            }

            return(JsonResponseStatus.Error(new { info = "هیچ مشتری ارزی دریافت نشد " }));
        }
コード例 #9
0
        public async Task <IActionResult> GetExDecList()
        {
            if (User.Identity.IsAuthenticated)
            {
                var exDecList = await exDeclarationService.GetExDecs();

                return(JsonResponseStatus.Success(exDecList));
            }

            return(JsonResponseStatus.Error(new { info = "هیچ اظهارنامه ای دریافت نشد " }));
        }
コード例 #10
0
        public async Task <IActionResult> CheckAuth()
        {
            if (User.Identity.IsAuthenticated)
            {
                UserInfoDTO user = await _userService.getUserByUId(User.GetUserId());

                return(JsonResponseStatus.Success(user));
            }

            return(JsonResponseStatus.Error());
        }
コード例 #11
0
        public async Task <IActionResult> GetInfo()
        {
            var financialList = await _financialPeriod.GetFinancialList();

            if (financialList != null)
            {
                return(JsonResponseStatus.Success(financialList));
            }

            return(JsonResponseStatus.Error(new { Info = "هنوز لیستی از دوره های مالی وارد نشده است" }));
        }
コード例 #12
0
        public async Task <IActionResult> GetById(string id)
        {
            var financialList = await _financialPeriod.GetById(Convert.ToInt64(id));

            if (financialList != null)
            {
                return(JsonResponseStatus.Success(financialList));
            }

            return(JsonResponseStatus.Error(new { Info = "هنوز لیستی از دوره های مالی وارد نشده است" }));
        }
コード例 #13
0
        public async Task <IActionResult> GetInfo()
        {
            var companyInfo = await _companyService.GetCompanyInfo();

            if (companyInfo != null)
            {
                return(JsonResponseStatus.Success(companyInfo));
            }

            return(JsonResponseStatus.Error(new { Info = "هنوز مشخصات شرکت در سیستم درج نشده است" }));
        }
コード例 #14
0
        public async Task <IActionResult> AddProductToOrder(long productId, int count)
        {
            if (User.Identity.IsAuthenticated)
            {
                var userId = User.GetUserId();
                await _orderService.AddProdcutToOrder(userId, productId, count);

                return(JsonResponseStatus.Success(new { message = "محصول با موفقیت به سبد خرید شما افزوده شد", returnData = await _orderService.GetUserBasketDetail(userId) }));
            }
            return(JsonResponseStatus.Error(new { message = "برای افزودن محصول به سبد خرید ابتدا لاگین کنید" }));
        }
コード例 #15
0
        public async Task <IActionResult> GetEditBrokerById(string id)
        {
            if (User.Identity.IsAuthenticated)
            {
                long ID     = long.Parse(id);
                var  Broker = await _brokerService.GetBrokerById(ID);

                return(JsonResponseStatus.Success(Broker));
            }

            return(JsonResponseStatus.Error(new { info = "کارگزار ویرایش نشد " }));
        }
コード例 #16
0
        public async Task <IActionResult> GetEditUserById(string id)
        {
            if (User.Identity.IsAuthenticated)
            {
                long customerId = long.Parse(id);
                var  customer   = await _customerService.GetCustomerById(customerId);

                return(JsonResponseStatus.Success(customer));
            }

            return(JsonResponseStatus.Error(new { info = "مشتری ویرایش نشد " }));
        }
コード例 #17
0
        public async Task <IActionResult> EditPiDetail(string id)
        {
            if (User.Identity.IsAuthenticated)
            {
                long piId        = long.Parse(id);
                var  piDetailDto = await _piDetailService.GetPiDetailById(piId);

                return(JsonResponseStatus.Success(piDetailDto));
            }

            return(JsonResponseStatus.Error(new { info = "PI ویرایش نشد " }));
        }
コード例 #18
0
        public async Task <IActionResult> GetEditExDecById(string id)
        {
            if (User.Identity.IsAuthenticated)
            {
                long exDecId = long.Parse(id);
                var  exDec   = await exDeclarationService.GetExDecById(exDecId);

                return(JsonResponseStatus.Success(exDec));
            }

            return(JsonResponseStatus.Error(new { info = "اظهارنامه ویرایش نشد " }));
        }
コード例 #19
0
        public async Task <IActionResult> Login([FromBody] LoginUserDTO login)
        {
            if (ModelState.IsValid)
            {
                var res = await userService.LoginUser(login);

                switch (res)
                {
                case LoginUserResult.IncorrectData:
                    return(JsonResponseStatus.NotFound(new { message = "حسابی با این مشخصات وجود ندارد" }));

                case LoginUserResult.NotActivated:
                    return(JsonResponseStatus.Error(new { message = "حساب کاربری شما فعال نشده است" }));

                case LoginUserResult.Success:
                    var user = await userService.GetUserByEmail(login.Email);

                    var userRole = await userService.GetUserRoleById(user.Id);

                    var secretKey         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("JupiterJwtBearer"));
                    var signinCredentials = new SigningCredentials(secretKey, SecurityAlgorithms.HmacSha256);
                    var tokenOptions      = new JwtSecurityToken(
                        issuer: "https://localhost:5001",
                        claims: new List <Claim>
                    {
                        new Claim(ClaimTypes.Name, user.Email),
                        new Claim(ClaimTypes.Role, userRole),
                        new Claim(ClaimTypes.NameIdentifier, user.Id.ToString())
                    },
                        expires: DateTime.Now.AddDays(30),
                        signingCredentials: signinCredentials
                        );

                    var tokenString = new JwtSecurityTokenHandler().WriteToken(tokenOptions);

                    return(JsonResponseStatus.Success(new
                    {
                        token = tokenString,
                        expireTime = 30,
                        firstName = user.FirstName,
                        lastName = user.LastName,
                        userId = user.Id,
                        avatar = user.Avatar,
                        role = userRole,
                        email = user.Email,
                        gender = user.Gender,
                    }));
                }
            }

            return(JsonResponseStatus.Error());
        }
コード例 #20
0
        public async Task <IActionResult> GetAllPermissions()
        {
            if (User.Identity.IsAuthenticated)
            {
                var userList = await userService.GetPermissions(User.GetUserId());

                if (userList.Count > 0)
                {
                    return(JsonResponseStatus.Success(userList));
                }
            }
            return(JsonResponseStatus.Error(new { Info = "هنوز عنوانهای دسترسی برای کاربران مشخص نشده است" }));
        }
コード例 #21
0
        public async Task <IActionResult> UsersHaveNotRoles()
        {
            if (User.Identity.IsAuthenticated)
            {
                var userList = await userService.GetActiveUsersExceptCurrentUserIdByUserId(User.GetUserId());

                if (userList.Count > 0)
                {
                    return(JsonResponseStatus.Success(userList));
                }
            }
            return(JsonResponseStatus.Error(new { Info = "کاربر مورد نظر در سیستم یافت نشد" }));
        }
コード例 #22
0
        public async Task <IActionResult> AllUsersAccountPermissions([FromBody] UserAccountPermissions userAccountPermissions)
        {
            if (User.Identity.IsAuthenticated)
            {
                var userList = await userService.InsertToDatabaseRolesAndPermissions(userAccountPermissions);

                if (userList == LoginUserResult.Success)
                {
                    return(JsonResponseStatus.Success());
                }
            }
            return(JsonResponseStatus.Error(new { Info = "هیچ داده ای در سیستم ذخیره نشد" }));
        }
コード例 #23
0
        public async Task <IActionResult> AddAdminToOrganization([FromBody] RegisterUserDTO user)
        {
            var response = await _organizationService.AddAdminToOrganization(user);

            switch (response)
            {
            case RegisterResponse.Exist:
                return(JsonResponseStatus.NotFound(new { message = "User Exixst" }));

            case RegisterResponse.Success:
                return(JsonResponseStatus.Success());
            }
            return(JsonResponseStatus.Error());
        }
コード例 #24
0
        public async Task <IActionResult> Register([FromBody] RegisterUserDTO user)
        {
            var register = await _userService.RegisterUser(user);

            switch (register)
            {
            case RegisterResponse.Exist:
                return(JsonResponseStatus.Error("El usuario existe"));

            case RegisterResponse.Success:
                return(JsonResponseStatus.Success());
            }
            return(JsonResponseStatus.Success());
        }
コード例 #25
0
        public async Task <IActionResult> EditPi([FromBody] PiDto piDto)
        {
            if (User.Identity.IsAuthenticated)
            {
                var result = await _piService.EditPiInfo(piDto);

                switch (result)
                {
                case PiResult.CanNotUpdate:
                    return(JsonResponseStatus.Error(new { info = "PI ویرایش نشد " }));
                }
            }

            return(JsonResponseStatus.Success());
        }
コード例 #26
0
        public async Task <IActionResult> EditUser([FromBody] CustomerDto customerDto)
        {
            if (User.Identity.IsAuthenticated)
            {
                var result = await _customerService.EditCustomerInfo(customerDto);

                switch (result)
                {
                case CustomerResult.CanNotUpdate:
                    return(JsonResponseStatus.Error(new { info = "مشتری ویرایش نشد " }));
                }
            }

            return(JsonResponseStatus.Success());
        }
コード例 #27
0
        public async Task <IActionResult> Insert([FromBody] CreateCustomerDto customer)
        {
            if (ModelState.IsValid)
            {
                var res = await _customerService.Create(customer);

                switch (res)
                {
                case CustomerResult.CustomerIsExist:
                    return(JsonResponseStatus.Error(new { Info = "مشتری مورد نظر , قبلا در سیستم ثبت شده" }));
                }
            }

            return(JsonResponseStatus.Success());
        }
コード例 #28
0
        public async Task <IActionResult> Register([FromBody] RegisterUserDTO register)
        {
            if (ModelState.IsValid)
            {
                var res = await userService.RegisterUser(register);

                switch (res)
                {
                case RegisterUserResult.EmailExists:
                    return(JsonResponseStatus.Error(new { info = "EmailExist" }));
                }
            }

            return(JsonResponseStatus.Success());
        }
コード例 #29
0
        public async Task <IActionResult> EditBroker([FromBody] BrokerDto BrokerDto)
        {
            if (User.Identity.IsAuthenticated)
            {
                var result = await _brokerService.EditBrokerInfo(BrokerDto);

                switch (result)
                {
                case BrokerResult.CanNotUpdate:
                    return(JsonResponseStatus.Error(new { info = "کارگزار ویرایش نشد " }));
                }
            }

            return(JsonResponseStatus.Success());
        }
コード例 #30
0
        public async Task <IActionResult> CreateBroker([FromBody] CreateBrokerDto broker)
        {
            if (ModelState.IsValid)
            {
                var res = await _brokerService.Create(broker);

                switch (res)
                {
                case BrokerResult.BrokerIsExist:
                    return(JsonResponseStatus.Error(new { Info = "کارگزار مورد نظر , قبلا در سیستم ثبت شده" }));
                }
            }

            return(JsonResponseStatus.Success());
        }