public async Task <ChangeManagerResponse> ChangeManagerAsync(ChangeManagerRequest request)
        {
            await _client.OpenAsync();

            var response = await _client.changeManagerAsync(request.Password, request.CompanyId, request.BranchCode,
                                                            request.ManagerName, request.ManagerNationalCode, request.ManagerMobile,
                                                            request.NationalCardCopyFileName, request.IdentificationCopyFileName, request.EstablishFormFileName,
                                                            request.NationalCardCopy, request.IdentificationCopy, request.EstablishForm);

            await _client.CloseAsync();

            return(JsonConvert.DeserializeObject <ChangeManagerResponse>(response));
        }
Пример #2
0
        public async Task <ActionResult> ChangeManager(ChangeManagerRequestDto input)
        {
            #region Check Validations

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

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

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

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

            #endregion

            #region Create Request

            var request = new ChangeManagerRequest
            {
                Password            = input.Password,
                CompanyId           = input.CompanyId,
                BranchCode          = input.BranchCode,
                ManagerName         = input.ManagerName,
                ManagerNationalCode = input.ManagerNationalCode,
                ManagerMobile       = input.ManagerMobile
            };

            #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.EstablishForm.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.EstablishForm         = Convert.ToBase64String(fileBytes);
                request.EstablishFormFileName = input.EstablishForm.FileName;
            }

            #endregion

            #region Call Webservice And Return Result

            var result = await _asnafBranchesApiClient.ChangeManagerAsync(request);

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

            return(View(input));

            #endregion
        }