public async Task NotifyBookingByMail(BookingRequestDTO NewBooking) { MailModels mailmodel = new MailModels(); mailmodel.ToEmail = NewBooking.CustomerEmail; mailmodel.ToName = NewBooking.CustomerName; mailmodel.StartTime = NewBooking.StartTime.ToString(); //SG.k - 1qp0IET1KI81dkyb7vGg.171FKbfy0Vk3P9i489GLuQaU0A7G49JPjim7NgYoC1U //var apiKey = Environment.GetEnvironmentVariable("SENDGRID_API_KEY"); mailmodel.subject = "Booking notification"; mailmodel.plainTextContent = "Hello " + mailmodel.ToName + "!" + " <br/> You have a confirmed reservation at: " + mailmodel.StartTime + " <br/> with" + mailmodel.ApplicationUserFirstName + " " + mailmodel.ApplicationUserLastName + "<br/> Thank you for booking with us" + "<br/> Best Regards AlltBokat customer support"; mailmodel.htmlContent = "Hello" + mailmodel.ToName + "!" + " <br/> You have a confirmed reservation at: " + mailmodel.StartTime + " <br/> with " + mailmodel.ApplicationUserFirstName + " " + mailmodel.ApplicationUserLastName + "<br/> Thank you for booking with us" + "<br/> Best Regards AlltBokat customer support"; mailmodel.FromEmail = ("*****@*****.**"); mailmodel.FromName = ("Alltbokat Support"); var from = new EmailAddress(mailmodel.FromEmail, mailmodel.FromName); var to = new EmailAddress(mailmodel.ToEmail, mailmodel.ToName); var apiKey = Environment.GetEnvironmentVariable("SENDGRID_API_KEY"); //var apiKey = "1qp0IET1KI81dkyb7vGg.171FKbfy0Vk3P9i489GLuQaU0A7G49JPjim7NgYoC1U"; var client = new SendGridClient(apiKey); var msg = MailHelper.CreateSingleEmail(from, to, mailmodel.subject, mailmodel.plainTextContent, mailmodel.htmlContent); var response = await client.SendEmailAsync(msg); }
public List <bool> ValidateBookingRequestDTO(BookingRequestDTO input) { List <bool> boolList = new List <bool>(); boolList.Add(ValidateCustomerName(input.CustomerName)); boolList.Add(ValidateCustomerEmail(input.CustomerEmail)); boolList.Add(ValidateDescription(input.Description)); boolList.Add(ValidateApplicationUserId(input.ApplicationUserId)); boolList.Add(ValidateTime(input.StartTime, input.EndTime)); return(boolList); }
public async Task <IHttpActionResult> PutBookingModels(int id, BookingRequestDTO bookingRequest) { var bookingValidator = new BookingValidation(); var errorList = bookingValidator.ValidateBookingRequestDTO(bookingRequest); if (!errorList.All(x => x == true)) { return(ResponseMessage(Request.CreateResponse(HttpStatusCode.BadRequest, "The Booking Request is invalid or otherwise incomplete."))); } bookingRequest = await bookingServices.UpdateSingleBooking(id, bookingRequest); return(Ok(bookingRequest)); }
public virtual BookingRequestDTO ConvertBookingModelstoBookingRequestDTO(BookingModels input) { BookingRequestDTO bookingRequest = new BookingRequestDTO() { Id = input.Id, ApplicationUserId = input.ApplicationUserId, CustomerEmail = input.CustomerEmail, CustomerName = input.CustomerName, Description = input.description, StartTime = input.BookingTimeSlotModels.startTime, EndTime = input.BookingTimeSlotModels.endTime }; return(bookingRequest); }
public virtual BookingModels ConvertBookingRequestDTOtoBookingModels(BookingRequestDTO input) { BookingModels bookingModel = new BookingModels() { CustomerName = input.CustomerName, CustomerEmail = input.CustomerEmail, description = input.Description, ApplicationUserId = input.ApplicationUserId, BookingTimeSlotModels = new BookingTimeSlotModels() { startTime = input.StartTime, endTime = input.EndTime } }; return(bookingModel); }
public async Task <IHttpActionResult> PostBookingModels(BookingRequestDTO bookingRequest) { if (bookingRequest == null) { return(ResponseMessage(Request.CreateResponse(HttpStatusCode.BadRequest, "The Booking Request is invalid or otherwise incomplete."))); } var bookingValidator = new BookingValidation(); var errorList = bookingValidator.ValidateBookingRequestDTO(bookingRequest); if (!errorList.All(x => x == true)) { return(ResponseMessage(Request.CreateResponse(HttpStatusCode.BadRequest, "The Booking Request is invalid or otherwise incomplete."))); } // kalla på service layer valideringsmetod(bookingRequest); bookingRequest = await bookingServices.AddBookingRequest(bookingRequest); // TO DO returnera fel om en sådan booking redan finns await mailservices.NotifyBookingByMail(bookingRequest); return(CreatedAtRoute("DefaultApi", new { id = bookingRequest.Id }, bookingRequest)); }