private void SendEmailToCompleteInsertOrUpdate(TravelDataModel travelDataInput) { try { string bodyHtml = JsonSerializer.Serialize(travelDataInput); var emailModel = new EmailModel(travelDataInput.Email, // To "Intinerario de viaje.", // Subject bodyHtml, // Message true // IsBodyHTML ); var smtpSection = Config.GetSection("SMTP"); if (smtpSection != null) { EmailHelper emailHelper = new EmailHelper( smtpSection.GetSection("Host").Value, smtpSection.GetSection("Port").Value, smtpSection.GetSection("From").Value, smtpSection.GetSection("Alias").Value, smtpSection.GetSection("Password").Value); emailHelper.SendEmail(emailModel); } } catch (Exception ex) { throw ex; } }
public static TravelDatum Map(TravelDataModel travelData) { return(new TravelDatum() { TravelId = travelData.TravelId, Birthdate = travelData.Birthdate, Email = travelData.Email, PassengerName = travelData.PassengerName, Passport = travelData.Passport, FlightItineraries = travelData.FlightItineraries?.Select(f => Map(f)).ToList() }); }
public IActionResult InsertUpdateTravelData([FromBody] TravelDataModel travelDataInput) { try { var travelDb = new TravelDBContext(); if (travelDb.TravelData.Where(td => td.TravelId == travelDataInput.TravelId).Any()) { //Si no esta la persona (unico por pasaporte) entonces lo agrego, sino lo actualizo if (!travelDb.TravelData.Where(td => td.TravelId == travelDataInput.TravelId && td.Passport == travelDataInput.Passport).Any()) { //Agregar travelDb.TravelData.Add(Mapper.Map(travelDataInput)); travelDb.SaveChanges(); SendEmailToCompleteInsertOrUpdate(travelDataInput); return(Ok()); } else { //Actualizar var traveldataToUpdate = travelDb.TravelData.Where(td => td.TravelId == travelDataInput.TravelId && td.Passport == travelDataInput.Passport).SingleOrDefault(); traveldataToUpdate.PassengerName = travelDataInput.PassengerName; traveldataToUpdate.Birthdate = travelDataInput.Birthdate; traveldataToUpdate.Email = travelDataInput.Email; travelDb.SaveChanges(); SendEmailToCompleteInsertOrUpdate(travelDataInput); return(Ok()); } } else { return(Ok("No existe el viaje")); } } catch (Exception ex) { return(NotFound(ex)); } }