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!"); } }
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); }
public async Task <IActionResult> Roaster([FromBody] RoasterRequestDT roasterRequest) { await _roasterRequestService.SendRoasterRequest(roasterRequest); return(Ok()); }