Пример #1
0
        public async Task <bool> CreateContact(ContactsCreateRequest request)
        {
            var sessions = _httpContextAccessor
                           .HttpContext
                           .Session
                           .GetString(SystemConstants.AppSettings.Token);

            var client = _httpClientFactory.CreateClient("BackendApi");

            client.BaseAddress = new Uri(_configuration[SystemConstants.AppSettings.BaseAddress]);
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessions);

            var requestContent = new MultipartFormDataContent();

            if (request.ThumbnailImage != null)
            {
                byte[] data;
                using (var br = new BinaryReader(request.ThumbnailImage.OpenReadStream()))
                {
                    data = br.ReadBytes((int)request.ThumbnailImage.OpenReadStream().Length);
                }
                ByteArrayContent bytes = new ByteArrayContent(data);
                requestContent.Add(bytes, "thumbnailImage", request.ThumbnailImage.FileName);
            }

            requestContent.Add(new StringContent(string.IsNullOrEmpty(request.ApartmentNumber.ToString()) ? "" : request.ApartmentNumber.ToString()), "ApartmentNumber");
            requestContent.Add(new StringContent(string.IsNullOrEmpty(request.NameStreet.ToString()) ? "" : request.NameStreet.ToString()), "NameStreet");
            requestContent.Add(new StringContent(string.IsNullOrEmpty(request.UserID.ToString()) ? "" : request.UserID.ToString()), "UserID");

            var response = await client.PostAsync($"/api/contact/", requestContent);

            return(response.IsSuccessStatusCode);
        }
Пример #2
0
        /// <summary>
        /// Creates the contacts.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="token">The token.</param>
        /// <returns>
        /// The task.
        /// </returns>
        public async Task CreateContactsAsync(ContactsCreateRequest request, CancellationToken token)
        {
            try
            {
                var configurationBuilder = this.CreateConfigurationBuilder();

                var configReader = ServiceFactory.CreateConfigurationReader(configurationBuilder);
                var config       = configReader.Read();

                var service = ServiceFactory.CreateContactService(
                    this.serviceResolver,
                    ConnectionHelper.CreateCosmosUserConnectionInfo(config),
                    ConnectionHelper.CreateCosmosContactConnectionInfo(config),
                    this.logService);

                await service.CreateContactsAsync(request.UserId, request.Count, token).ConfigureAwait(false);

                this.logService.LogInformation(
                    "Successfully executed Create Contacts at {Timestamp}",
                    DateTime.UtcNow);
            }
            catch (Exception e)
            {
                var errorMessage = $"Fatal exception during Create Contacts. ErrorMessage message: {e.Message}";
                this.logService.LogError(e, errorMessage);
                throw;
            }
        }
        public async Task <long> Create(ContactsCreateRequest request)
        {
            var contact = new Contact()
            {
                ApartmentNumber = request.ApartmentNumber,
                NameStreet      = request.NameStreet,
                UserID          = request.UserID
            };

            if (request.ThumbnailImage != null)
            {
                contact.UserImages = new List <UserImage>()
                {
                    new UserImage()
                    {
                        Caption    = "Thumbnail image",
                        DayCreated = DateTime.Now,
                        FileSize   = request.ThumbnailImage.Length,
                        ImagePath  = await this.SaveFile(request.ThumbnailImage),
                        IsDefault  = true,
                    }
                };
            }
            _context.Contacts.Add(contact);
            await _context.SaveChangesAsync();

            return(contact.ID);
        }
        public async Task <IActionResult> Create([FromForm] ContactsCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var contactId = await _contactsService.Create(request);

            if (contactId == 0)
            {
                return(BadRequest());
            }
            var contact = await _contactsService.GetById(contactId);

            return(CreatedAtAction(nameof(GetById), new { id = contactId }, contact));
        }
        public async Task <IActionResult> Create([FromForm] ContactsCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(View(request));
            }

            var result = await _contactApiClient.CreateContact(request);

            if (result)
            {
                TempData["result"] = "Thêm mới sản phẩm thành công";
                return(RedirectToAction("Index", "Contact"));
            }

            ModelState.AddModelError("", "Thêm sản phẩm thất bại");
            return(View(request));
        }