public async Task <IssuanceResponse> BranchIssuanceAsync(BranchIssuanceRequest request)
        {
            await _client.OpenAsync();

            var response = await _client.branchIssuanceAsync(request.Password, request.CompanyId, request.Province,
                                                             request.City, request.ManagerName, request.Mobile, request.NationalId, request.PostalCode,
                                                             request.Address, request.NationalCardCopyFileName, request.IdentificationCopyFileName,
                                                             request.ObligationFormFileName, request.EstablishFormFileName, request.RentalContractFileName,
                                                             request.OfficialNewspaperFileName, request.NationalCardCopy, request.IdentificationCopy,
                                                             request.ObligationForm, request.EstablishForm, request.RentalContract, request.OfficialNewspaper);

            await _client.CloseAsync();

            return(JsonConvert.DeserializeObject <IssuanceResponse>(response));
        }
Пример #2
0
        public async Task <ActionResult> BranchIssuance(BranchIssuanceRequestDto input)
        {
            #region Return View Bags

            var provincesAndCities = (await _asnafBranchesApiClient.GetProvinceCityListAsync()).Response;
            ViewBag.Provinces = provincesAndCities
                                .Select(c => new SelectListItem
            {
                Text     = c.ProvinceTitle,
                Value    = c.ProvinceId.ToString(),
                Selected = c.ProvinceId == input.Province
            }).AsEnumerable();

            ViewBag.Cities = provincesAndCities
                             .First(a => a.ProvinceId == input.Province).ProvinceCity
                             .Select(c => new SelectListItem
            {
                Text     = c.CityTitle,
                Value    = c.CityId.ToString(),
                Selected = c.CityId == input.City
            }).AsEnumerable();

            #endregion

            #region Check Validations

            if (string.IsNullOrEmpty(input.Province))
            {
                ModelState.AddModelError(nameof(BranchIssuanceRequestDto.Province), "استان را انتخاب نمایید");
            }

            if (string.IsNullOrEmpty(input.City))
            {
                ModelState.AddModelError(nameof(BranchIssuanceRequestDto.City), "شهر را انتخاب نمایید");
            }

            if (input.NationalCardCopy == null)
            {
                ModelState.AddModelError(nameof(BranchIssuanceRequestDto.NationalCardCopy),
                                         "عکس کارت ملی را وارد نمایید");
            }

            if (input.IdentificationCopy == null)
            {
                ModelState.AddModelError(nameof(BranchIssuanceRequestDto.IdentificationCopy),
                                         "کپی شناسنامه را وارد نمایید");
            }

            if (input.ObligationForm == null)
            {
                ModelState.AddModelError(nameof(BranchIssuanceRequestDto.ObligationForm),
                                         "فرم تعهد مسئول شعبه را وارد نمایید");
            }

            if (input.EstablishForm == null)
            {
                ModelState.AddModelError(nameof(BranchIssuanceRequestDto.EstablishForm),
                                         "فرم درخواست تاسيس شعبه را وارد نمایید");
            }

            if (input.RentalContract == null)
            {
                ModelState.AddModelError(nameof(BranchIssuanceRequestDto.RentalContract),
                                         "قرارداد اجاره نامه را وارد نمایید");
            }

            if (input.OfficialNewspaper == null)
            {
                ModelState.AddModelError(nameof(BranchIssuanceRequestDto.OfficialNewspaper),
                                         "روزنامه رسمی ثبت شرکت را وارد نمایید");
            }

            if (!ModelState.IsValid)
            {
                ViewBag.Result  = false;
                ViewBag.Message = "لطفا اطلاعات ضروری را وارد نمایید";
                return(View(input));
            }

            #endregion

            #region Create Request

            var request = new BranchIssuanceRequest
            {
                Password    = input.Password,
                CompanyId   = input.CompanyId,
                Province    = input.Province,
                City        = input.City,
                ManagerName = input.ManagerName,
                Mobile      = input.Mobile,
                NationalId  = input.NationalId,
                PostalCode  = input.PostalCode,
                Address     = input.Address
            };

            #endregion

            #region Convert Uploaded Photos To Base64 And Add To Request

            await using (var ms = new MemoryStream())
            {
                input.NationalCardCopy.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.NationalCardCopy         = Convert.ToBase64String(fileBytes);
                request.NationalCardCopyFileName = input.NationalCardCopy.FileName;
            }

            await using (var ms = new MemoryStream())
            {
                input.IdentificationCopy.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.IdentificationCopy         = Convert.ToBase64String(fileBytes);
                request.IdentificationCopyFileName = input.IdentificationCopy.FileName;
            }

            await using (var ms = new MemoryStream())
            {
                input.ObligationForm.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.ObligationForm         = Convert.ToBase64String(fileBytes);
                request.ObligationFormFileName = input.ObligationForm.FileName;
            }

            await using (var ms = new MemoryStream())
            {
                input.EstablishForm.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.EstablishForm         = Convert.ToBase64String(fileBytes);
                request.EstablishFormFileName = input.EstablishForm.FileName;
            }

            await using (var ms = new MemoryStream())
            {
                input.RentalContract.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.RentalContract         = Convert.ToBase64String(fileBytes);
                request.RentalContractFileName = input.RentalContract.FileName;
            }

            await using (var ms = new MemoryStream())
            {
                input.OfficialNewspaper.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.OfficialNewspaper         = Convert.ToBase64String(fileBytes);
                request.OfficialNewspaperFileName = input.OfficialNewspaper.FileName;
            }

            #endregion

            #region Call Webservice And Return Result

            var result = await _asnafBranchesApiClient.BranchIssuanceAsync(request);

            if (result.Status == 1)
            {
                ViewBag.Result  = true;
                ViewBag.Message = $"درخواست شما با موفقیت ثبت شد، شماره پیگیری {result.RequestId}";
            }
            else
            {
                ViewBag.Result  = false;
                ViewBag.Message = result.Message;
            }

            return(View(input));

            #endregion
        }