Example #1
0
        public async Task <ConferenceIssuanceResponse> ConferenceIssuanceAsync(ConferenceIssuanceRequest request)
        {
            await _client.OpenAsync();

            var response = await _client.conferenceIssuanceAsync(request.Password, request.CompanyId, request.Title,
                                                                 request.Date, request.Location, request.Text, request.Image, request.ImageFileName, request.VideoExist,
                                                                 request.CommitmentFileName, request.Commitment);

            await _client.CloseAsync();

            return(JsonConvert.DeserializeObject <ConferenceIssuanceResponse>(response));
        }
        public async Task <ActionResult> ConferenceIssuance(ConferenceIssuanceRequestDto input)
        {
            #region Check Validations

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

            #endregion

            #region Create Request

            var request = new ConferenceIssuanceRequest
            {
                Password  = input.Password,
                CompanyId = input.CompanyId,
                Title     = input.Title,
                Date      = input.Date,
                Location  = input.Location,
                Text      = input.Text,
            };

            #endregion

            #region Convert Uploaded Photos To Base64 And Add To Request

            if (input.Image1 != null)
            {
                await using var ms = new MemoryStream();
                input.Image1.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.Image         = Convert.ToBase64String(fileBytes);
                request.ImageFileName = input.Image1.FileName;
            }

            if (input.Image2 != null)
            {
                await using var ms = new MemoryStream();
                input.Image2.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.Image         = $"{request.Image}|{Convert.ToBase64String(fileBytes)}";
                request.ImageFileName = $"{request.ImageFileName}|{input.Image2.FileName}";
            }


            if (input.Image3 != null)
            {
                await using var ms = new MemoryStream();
                input.Image3.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.Image         = $"{request.Image}|{Convert.ToBase64String(fileBytes)}";
                request.ImageFileName = $"{request.ImageFileName}|{input.Image3.FileName}";
            }

            if (input.Commitment1 != null)
            {
                await using var ms = new MemoryStream();
                input.Commitment1.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.Commitment         = Convert.ToBase64String(fileBytes);
                request.CommitmentFileName = input.Commitment1.FileName;
            }

            if (input.Commitment2 != null)
            {
                await using var ms = new MemoryStream();
                input.Commitment2.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.Commitment         = $"{request.Commitment}|{Convert.ToBase64String(fileBytes)}";
                request.CommitmentFileName = $"{request.CommitmentFileName}|{input.Commitment2.FileName}";
            }


            if (input.Commitment3 != null)
            {
                await using var ms = new MemoryStream();
                input.Commitment3.CopyTo(ms);
                var fileBytes = ms.ToArray();
                request.Commitment         = $"{request.Commitment}|{Convert.ToBase64String(fileBytes)}";
                request.CommitmentFileName = $"{request.CommitmentFileName}|{input.Commitment3.FileName}";
            }

            #endregion

            #region Call Webservice And Return Result

            var result = await _asnafConferenceApiClient.ConferenceIssuanceAsync(request);

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

            return(View(input));

            #endregion
        }