示例#1
0
        public async Task SendRoasterRequest(RoasterRequestDT roasterRequestDT)
        {
            try
            {
                _logger.Information("Roaster service layer access in progress...");

                var roasterRequest = RoasterRequestServiceBuilder.GenerateRoasterRequest(roasterRequestDT,
                                                                                         _pictureRequestRepository);
                _roasterRequestRepository.Add(roasterRequest);
                await _roasterRequestRepository.SaveChangesAsync();

                _logger.Information($"Roaster request table has been modified. Inserted request:\n Id:{roasterRequest.Id}");
            }
            catch (Exception e)
            {
                _logger.Error(e, "Roaster service layer error occured!");
            }
        }
示例#2
0
        public static RoasterRequest GenerateRoasterRequest(RoasterRequestDT roasterRequestDT,
                                                            IPictureRequestRepository pictureRequestRepository)
        {
            var tags           = BuildTagsString(roasterRequestDT.Tags);
            var roasterRequest = RoasterRequest.New(OwnedRoaster.New(roasterRequestDT.OwnerDT.Name + roasterRequestDT.OwnerDT.Surname,
                                                                     roasterRequestDT.OwnerDT.PhoneNumber,
                                                                     roasterRequestDT.RoasterDT.Name,
                                                                     0,
                                                                     roasterRequestDT.RoasterDT.ContactNumber,
                                                                     roasterRequestDT.RoasterDT.ContactEmail,
                                                                     roasterRequestDT.RoasterDT.WebSiteLink,
                                                                     roasterRequestDT.RoasterDT.VkProfileLink,
                                                                     roasterRequestDT.RoasterDT.InstagramProfileLink,
                                                                     roasterRequestDT.RoasterDT.TelegramProfileLink,
                                                                     roasterRequestDT.RoasterDT.Description,
                                                                     DateTime.Now),
                                                    OwnedAddress.New(roasterRequestDT.AddressDT.AddressStr,
                                                                     roasterRequestDT.AddressDT.OpeningHours,
                                                                     roasterRequestDT.AddressDT.Latitude,
                                                                     roasterRequestDT.AddressDT.Longitude),
                                                    tags);

            byte[] picture;

            try
            {
                picture = roasterRequestDT.CharPicture.Length > 0 ? Convert.FromBase64String(roasterRequestDT.CharPicture.Substring(roasterRequestDT.CharPicture.LastIndexOf(',') + 1)) : new byte[0];
            }
            catch {
                picture = new byte[0];
            }

            BytePictureBuilder.BindPictureRequest(roasterRequest.Id,
                                                  picture,
                                                  pictureRequestRepository);
            return(roasterRequest);
        }
示例#3
0
        public async Task <IActionResult> Roaster([FromBody] RoasterRequestDT roasterRequest)
        {
            await _roasterRequestService.SendRoasterRequest(roasterRequest);

            return(Ok());
        }