// transfer model to data and insert // links: // docLink: http://sql2x.org/documentationLink/17cd8423-3c78-459f-a45b-773fcfbc3b7d public void Insert(CrudeServicePackagePromotionModel model) { var data = new CrudeServicePackagePromotionData(); ModelToData(model, data); data.Insert(); }
// transfer model to data and update, on a transaction // links: // docLink: http://sql2x.org/documentationLink/aa07e05b-edc8-4e09-bf93-bf2a40c93c09 public void Update(CrudeServicePackagePromotionModel model, SqlConnection connection, SqlTransaction transaction) { var data = new CrudeServicePackagePromotionData(); ModelToData(model, data); data.Update(connection, transaction); }
// transfer model to data and update // links: // docLink: http://sql2x.org/documentationLink/658fda50-2ad3-414e-9299-2b399d17a057 public void Update(CrudeServicePackagePromotionModel model) { var data = new CrudeServicePackagePromotionData(); ModelToData(model, data); data.Update(); }
// update all object members on a row in table based on primary key, on a transaction // the transaction and or connection state is not changed in any way other than what SqlClient does to it. // it is the callers responsibility to commit or rollback the transaction // links: // docLink: http://sql2x.org/documentationLink/b798ad6b-f4b8-466a-9086-6588a814fcf3 public void Update(CrudeServicePackagePromotionContract contract, SqlConnection connection, SqlTransaction transaction) { var data = new CrudeServicePackagePromotionData(); ContractToData(contract, data); data.Update(connection, transaction); }
// update all object members on a row in table based on primary key // links: // docLink: http://sql2x.org/documentationLink/ce75e72e-fb16-4f4e-a2e6-dbd079dfa206 public void Update(CrudeServicePackagePromotionContract contract) { var data = new CrudeServicePackagePromotionData(); ContractToData(contract, data); data.Update(); }
// transfer model list to data list // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/1d6a48d9-fe39-4397-b8fa-a332da164cbf // parameters: // CrudeServicePackagePromotionData: key of table CrudeServicePackagePromotionData public static void ModelListToDataList(List <CrudeServicePackagePromotionModel> modelList, List <CrudeServicePackagePromotionData> dataList) { foreach (CrudeServicePackagePromotionModel model in modelList) { var data = new CrudeServicePackagePromotionData(); ModelToData(model, data); dataList.Add(data); } }
// copy all rows from a List of SOAP Contracts to a List of serialized data objects // links: // docLink: http://sql2x.org/documentationLink/1c6c6b9c-e201-4590-8c69-d38a0ad2a9f7 public static void ContractListToDataList(List <CrudeServicePackagePromotionContract> contractList, List <CrudeServicePackagePromotionData> dataList) { foreach (CrudeServicePackagePromotionContract contract in contractList) { var data = new CrudeServicePackagePromotionData(); CrudeServicePackagePromotionService.ContractToData(contract, data); dataList.Add(data); } }
// fetch by Primary key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/bbab4791-c9e7-49bf-90d5-fca19b1fedaa // parameters: // servicePackagePromotionId: primary key of table service_package_promotion public CrudeServicePackagePromotionContract FetchByServicePackagePromotionId(System.Guid servicePackagePromotionId) { var dataAccessLayer = new CrudeServicePackagePromotionData(); var contract = new CrudeServicePackagePromotionContract(); dataAccessLayer.FetchByServicePackagePromotionId(servicePackagePromotionId); DataToContract(dataAccessLayer, contract); return(contract); }
// fetch by Primary key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/fdcc33b4-08f1-43c3-ae28-95fbf029c3bd // parameters: // CrudeServicePackagePromotionData: primary key of table CrudeServicePackagePromotionData public CrudeServicePackagePromotionModel FetchByServicePackagePromotionId(System.Guid servicePackagePromotionId) { var dataAccessLayer = new CrudeServicePackagePromotionData(); var model = new CrudeServicePackagePromotionModel(); dataAccessLayer.FetchByServicePackagePromotionId(servicePackagePromotionId); DataToModel(dataAccessLayer, model); return(model); }
// transfer model object to data object // links: // docLink: http://sql2x.org/documentationLink/95875d99-b7f7-4a9e-baa4-3fbe9925d8a2 public static void ModelToData(CrudeServicePackagePromotionModel model, CrudeServicePackagePromotionData data) { data.ServicePackagePromotionId = model.ServicePackagePromotionId; data.ServicePackageId = model.ServicePackageId; data.PromotionPriceAmount = model.PromotionPriceAmount; data.FinancialCurrencyId = model.FinancialCurrencyId; data.UserId = model.UserId; data.DateTime = model.DateTime; data.BookingId = model.BookingId; data.ClientId = model.ClientId; }
// copy all columns from a serialized data object to a SOAP Contract // links: // docLink: http://sql2x.org/documentationLink/7553d6dd-da65-4a72-84c8-81f2f99ef4f5 public static void DataToContract(CrudeServicePackagePromotionData data, CrudeServicePackagePromotionContract contract) { contract.ServicePackagePromotionId = data.ServicePackagePromotionId; contract.ServicePackageId = data.ServicePackageId; contract.PromotionPriceAmount = data.PromotionPriceAmount; contract.FinancialCurrencyId = data.FinancialCurrencyId; contract.UserId = data.UserId; contract.DateTime = data.DateTime; contract.BookingId = data.BookingId; contract.ClientId = data.ClientId; }
// transfer data object to model object // links: // docLink: http://sql2x.org/documentationLink/43d57600-5ff5-4ef8-9330-123773d100d3 public static void DataToModel(CrudeServicePackagePromotionData data, CrudeServicePackagePromotionModel model) { model.ServicePackagePromotionId = data.ServicePackagePromotionId; model.ServicePackageId = data.ServicePackageId; model.PromotionPriceAmount = data.PromotionPriceAmount; model.FinancialCurrencyId = data.FinancialCurrencyId; model.UserId = data.UserId; model.DateTime = data.DateTime; model.BookingId = data.BookingId; model.ClientId = data.ClientId; }
// copy all rows from a List of serialized data objects to a List of SOAP Contracts, // with a limit on number of returned rows and order by columns, starting at a specific row // links: // docLink: http://sql2x.org/documentationLink/3fe9f1b3-97b6-4f58-a0f2-adfcbd973bfc public List <CrudeServicePackagePromotionContract> FetchAllWithLimitAndOffset(int limit, int offset) { var list = new List <CrudeServicePackagePromotionContract>(); List <CrudeServicePackagePromotionData> dataList = CrudeServicePackagePromotionData.FetchAllWithLimitAndOffset(limit, offset); foreach (CrudeServicePackagePromotionData crudeServicePackagePromotion in dataList) { var contract = new CrudeServicePackagePromotionContract(); DataToContract(crudeServicePackagePromotion, contract); list.Add(contract); } return(list); }
// copy all rows from a List of serialized data objects in CrudeServicePackagePromotionData to a List of SOAP Contracts // links: // docLink: http://sql2x.org/documentationLink/9204c68e-93b8-4c77-af3c-3181985ff75f public List <CrudeServicePackagePromotionContract> FetchAll() { var list = new List <CrudeServicePackagePromotionContract>(); List <CrudeServicePackagePromotionData> dataList = CrudeServicePackagePromotionData.FetchAll(); foreach (CrudeServicePackagePromotionData crudeServicePackagePromotion in dataList) { var contract = new CrudeServicePackagePromotionContract(); DataToContract(crudeServicePackagePromotion, contract); list.Add(contract); } return(list); }
// fetch all from table into new List of class instances, filtered by any column // links: // docLink: http://sql2x.org/documentationLink/db27658d-4d23-46d7-9970-7bbaef8634b0 public List <CrudeServicePackagePromotionModel> FetchWithFilter(System.Guid servicePackagePromotionId, System.Guid servicePackageId, decimal promotionPriceAmount, System.Guid financialCurrencyId, System.Guid userId, System.DateTime dateTime, System.Guid bookingId, System.Guid clientId) { var list = new List <CrudeServicePackagePromotionModel>(); List <CrudeServicePackagePromotionData> dataList = CrudeServicePackagePromotionData.FetchWithFilter(servicePackagePromotionId, servicePackageId, promotionPriceAmount, financialCurrencyId, userId, dateTime, bookingId, clientId); foreach (CrudeServicePackagePromotionData data in dataList) { var crudeServicePackagePromotionBusinessModel = new CrudeServicePackagePromotionModel(); DataToModel(data, crudeServicePackagePromotionBusinessModel); list.Add(crudeServicePackagePromotionBusinessModel); } return(list); }
// copy all rows from a List of serialized data objects in CrudeServicePackagePromotionData to a List of SOAP Contracts // links: // docLink: http://sql2x.org/documentationLink/3d3e60c3-69e4-43d6-8bd5-14a67a6ecf58 public List <CrudeServicePackagePromotionModel> FetchAll() { var list = new List <CrudeServicePackagePromotionModel>(); List <CrudeServicePackagePromotionData> dataList = CrudeServicePackagePromotionData.FetchAll(); foreach (CrudeServicePackagePromotionData crudeServicePackagePromotionBusiness in dataList) { var model = new CrudeServicePackagePromotionModel(); DataToModel(crudeServicePackagePromotionBusiness, model); list.Add(model); } return(list); }
// fetch all rows from table with an offset, and limit of rows // links: // docLink: http://sql2x.org/documentationLink/a87e5c54-b47e-4031-bc3b-837b4cf9f692 public List <CrudeServicePackagePromotionModel> FetchAllWithLimitAndOffset(string limit, string offset) { var list = new List <CrudeServicePackagePromotionModel>(); List <CrudeServicePackagePromotionData> dataList = CrudeServicePackagePromotionData.FetchAllWithLimitAndOffset(int.Parse(limit), int.Parse(offset)); foreach (CrudeServicePackagePromotionData crudeServicePackagePromotionBusiness in dataList) { var model = new CrudeServicePackagePromotionModel(); DataToModel(crudeServicePackagePromotionBusiness, model); list.Add(model); } return(list); }
// fetch all rows from table into new List of Contracts, filtered by any column // links: // docLink: http://sql2x.org/documentationLink/ce01ef4a-5cd0-4e51-b211-9c0a15b791a0 public List <CrudeServicePackagePromotionContract> FetchWithFilter(System.Guid servicePackagePromotionId, System.Guid servicePackageId, decimal promotionPriceAmount, System.Guid financialCurrencyId, System.Guid userId, System.DateTime dateTime, System.Guid bookingId, System.Guid clientId) { var list = new List <CrudeServicePackagePromotionContract>(); List <CrudeServicePackagePromotionData> dataList = CrudeServicePackagePromotionData.FetchWithFilter( servicePackagePromotionId: servicePackagePromotionId, servicePackageId: servicePackageId, promotionPriceAmount: promotionPriceAmount, financialCurrencyId: financialCurrencyId, userId: userId, dateTime: dateTime, bookingId: bookingId, clientId: clientId ); foreach (CrudeServicePackagePromotionData data in dataList) { var crudeServicePackagePromotionContract = new CrudeServicePackagePromotionContract(); DataToContract(data, crudeServicePackagePromotionContract); list.Add(crudeServicePackagePromotionContract); } return(list); }
// fetch by Search key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/87368fa6-b618-4f0c-acbb-1fc4e273bb2d // parameters: // BookingId: key of table CrudeServicePackagePromotionData public List <CrudeServicePackagePromotionModel> FetchByBookingId(System.Guid bookingId) { return(DataListToModelList(CrudeServicePackagePromotionData.FetchByBookingId(bookingId))); }
// fetch by Search key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/87368fa6-b618-4f0c-acbb-1fc4e273bb2d // parameters: // UserId: key of table CrudeServicePackagePromotionData public List <CrudeServicePackagePromotionModel> FetchByUserId(System.Guid userId) { return(DataListToModelList(CrudeServicePackagePromotionData.FetchByUserId(userId))); }
// fetch by Search key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/87368fa6-b618-4f0c-acbb-1fc4e273bb2d // parameters: // FinancialCurrencyId: key of table CrudeServicePackagePromotionData public List <CrudeServicePackagePromotionModel> FetchByFinancialCurrencyId(System.Guid financialCurrencyId) { return(DataListToModelList(CrudeServicePackagePromotionData.FetchByFinancialCurrencyId(financialCurrencyId))); }
// copy all columns from a SOAP Contract to a serialized data object // links: // docLink: http://sql2x.org/documentationLink/10700d38-2227-4021-be12-2f4f206f5dd9 public static void ContractToData(CrudeServicePackagePromotionContract contract, CrudeServicePackagePromotionData data) { data.ServicePackagePromotionId = contract.ServicePackagePromotionId; data.ServicePackageId = contract.ServicePackageId; data.PromotionPriceAmount = contract.PromotionPriceAmount; data.FinancialCurrencyId = contract.FinancialCurrencyId; data.UserId = contract.UserId; data.DateTime = contract.DateTime; data.BookingId = contract.BookingId; data.ClientId = contract.ClientId; }
// fetch by Search key into current object // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/87368fa6-b618-4f0c-acbb-1fc4e273bb2d // parameters: // ClientId: key of table CrudeServicePackagePromotionData public List <CrudeServicePackagePromotionModel> FetchByClientId(System.Guid clientId) { return(DataListToModelList(CrudeServicePackagePromotionData.FetchByClientId(clientId))); }
// delete row // links: // docLink: http://sql2x.org/documentationLink/59823bf7-4ad8-4684-a48b-2abd49c607ee public void Delete(System.Guid servicePackagePromotionId) { CrudeServicePackagePromotionData.Delete(servicePackagePromotionId); }
public void PromotionSend( Guid servicePackagePromotionId, Guid userId ) { Logging log = Logging.PerformanceTimeStart( "Service", "BusinessLogicLayer", "ServiceService", "PromotionSend", userId ); using (var connection = new SqlConnection(Conn.ConnectionString)) { connection.Open(); SqlTransaction transaction = connection.BeginTransaction(); try { var promotionData = CrudeServicePackagePromotionData.GetByServicePackagePromotionId(servicePackagePromotionId); var packageData = CrudeServicePackageData.GetByServicePackageId(promotionData.ServicePackageId); var clientData = CrudeClientData.GetByClientId(promotionData.ClientId); var contactData = CrudeClientContactMethodData.GetCurrentMail(promotionData.ClientId); // todo, assume one hit GetServicePackageData packageDetailsData = new ServiceSearch().GetServicePackage(promotionData.ServicePackageId)[0]; string messageText = string.Empty; messageText += "Hi,<br>\r\n"; messageText += "<br>\r\n"; if (!string.IsNullOrEmpty(packageDetailsData.DepartureAirportName)) { messageText += " From: " + packageDetailsData.DepartureAirportName + "<br>\r\n"; } if (!string.IsNullOrEmpty(packageDetailsData.ArrivalAirportName)) { messageText += " To: " + packageDetailsData.ArrivalAirportName + "<br>\r\n"; } if (!string.IsNullOrEmpty(packageDetailsData.CarName)) { messageText += " Traveling with: " + packageDetailsData.CarName + "<br>\r\n"; } if (!string.IsNullOrEmpty(packageDetailsData.HotelName)) { messageText += " Staying at: " + packageDetailsData.HotelName + "<br>\r\n"; } if (!string.IsNullOrEmpty(packageDetailsData.ServiceSpecialServiceRequestName)) { messageText += " Special Request: " + packageDetailsData.ServiceSpecialServiceRequestName + "<br>\r\n"; } List <CrudeDefaultSystemSettingData> systemSettingDatas = CrudeDefaultSystemSettingData.FetchWithFilter( Guid.Empty, DefaultSystemSettingRef.EMailURL, string.Empty, Guid.Empty, DateTime.MinValue ); CrudeDefaultSystemSettingData systemSettingData; if (systemSettingDatas.Count > 0) { systemSettingData = systemSettingDatas[0]; messageText += "<br>\r\n"; messageText += "The package is not yet a booking, click "; // http://localhost:1301/ServicePackagePromotionWithFilter/ServicePackagePromotionMakeBooking?servicePackagePromotionId=4417cd4e-e033-4644-b9fe-74ceec50d903 messageText += "<a href=\"" + systemSettingData.DefaultSystemSettingValue; messageText += "/ServicePackagePromotionWithFilter/ServicePackagePromotionMakeBooking"; messageText += "?servicePackagePromotionId=" + promotionData.ServicePackagePromotionId.ToString(); messageText += "\">here to make it into one</a>. The flight will be the first available one, so fly to the airport :-|<br>\r\n"; // change package message messageText += "If you for some reason do not agree with this wonderful package then <br>\r\n"; messageText += " it can be "; messageText += "<a href=\"" + systemSettingData.DefaultSystemSettingValue; messageText += "/GetServicePackageLive/ServicePackageEdit"; messageText += "?servicePackageId=" + packageData.ServicePackageId.ToString(); messageText += "\">changed here</a><br>\r\n"; // confirmed message messageText += "<br>\r\n"; messageText += "The booking will be confirmed and a new mail message will arrive at this address confirming that fact.<br>\r\n"; messageText += "In the confirmation mail you can view the complete booking through web pages or a windows interface<br>\r\n"; messageText += "<br>\r\n"; messageText += "Thanks for booking through nor-port<br>\r\n"; messageText += "<br>\r\n"; } messageText += "//nor-port<br>\r\n"; SmtpClient client = new SmtpClient(); client.Port = 587; client.Host = "smtp.live.com"; // todo, system setting client.EnableSsl = true; client.Timeout = 10000; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; // todo, system setting client.Credentials = new System.Net.NetworkCredential( "emailLog", "HU6767Ghvhvj" ); MailMessage message = new MailMessage( "emailLog", contactData.ContactMethodWay, "Promotional Package : " + packageData.ServicePackageName, messageText ); message.IsBodyHtml = true; message.BodyEncoding = UTF8Encoding.UTF8; message.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; client.Send(message); transaction.Commit(); log.PerformanceTimeStop(); } catch (Exception ex) { transaction.Rollback(); log.Error(ex); throw ex; } } }
// fetch by Foreign key into new List of class instances // links: // docLink: http://sql2x.org/documentationLink/a7599485-4f00-4ebf-974d-53f69c43654e public List <CrudeServicePackagePromotionContract> FetchByClientId(System.Guid clientId) { return(DataListToContractList(CrudeServicePackagePromotionData.FetchByClientId(clientId))); }
// get a count of rows in table // links: // docLink: http://sql2x.org/documentationLink/39677f9e-daee-45c6-9527-da98a0d7958d public int FetchAllCount() { return(CrudeServicePackagePromotionData.FetchAllCount()); }
public void PromotionMakeBooking( Guid servicePackagePromotionId, Guid userId ) { Logging log = Logging.PerformanceTimeStart( "Service", "BusinessLogicLayer", "ServiceService", "PromotionMakeBooking", userId ); using (var connection = new SqlConnection(Conn.ConnectionString)) { connection.Open(); SqlTransaction transaction = connection.BeginTransaction(); var promotionData = CrudeServicePackagePromotionData.GetByServicePackagePromotionId(servicePackagePromotionId); var packageData = CrudeServicePackageData.GetByServicePackageId(promotionData.ServicePackageId); var clientData = CrudeClientData.GetByClientId(promotionData.ClientId); var contactData = CrudeClientContactMethodData.GetCurrentMail(promotionData.ClientId); // get flights // make booking var bookingService = new BookingService(); BookingContract booking = bookingService.GetBookingEmpty(userId); // save booking // todo, transaction booking.Booking.BookingId = bookingService.UpdateBooking( booking.Booking.BookingId, booking.Booking.BookingSourceRcd, booking.BookingIdentifier.BookingIdentifierValue, contactData.ContactMethodWay, "PromotionMakeBooking", string.Empty, booking.Booking.FinancialCurrencyId, booking.Booking.FinancialCostcentreId, userId ); // flights if (packageData.DepartureAirportId != Guid.Empty) { Guid flightId = Flight.GetFlightMatching( packageData.DepartureAirportId, packageData.ArrivalAirportId ); if (flightId != Guid.Empty) { bookingService.FlightAdd( booking.Booking.BookingId, flightId, userId ); } } // passengers bookingService.PassengerAdd( booking.Booking.BookingId, PassengerTypeRef.Adult, clientData.FirstName + ' ' + clientData.MiddleName + ' ' + clientData.LastName, userId ); // services (SSR) if (packageData.ServiceSpecialServiceRequestId != Guid.Empty) { bookingService.BookingServiceSpecialServiceRequestAdd( booking.Booking.BookingId, packageData.ServiceSpecialServiceRequestId, userId ); } // services (Hotel) if (packageData.ServiceHotelId != Guid.Empty) { bookingService.BookingServiceHotelAdd( booking.Booking.BookingId, packageData.ServiceHotelId, userId ); } // services (Car) if (packageData.ServiceCarRentalId != Guid.Empty) { bookingService.BookingServiceCarRentalAdd( booking.Booking.BookingId, packageData.ServiceCarRentalId, userId ); } // confirm booking bookingService.BookingConfirm( booking.Booking.BookingId, userId ); try { transaction.Commit(); log.PerformanceTimeStop(); } catch (Exception ex) { transaction.Rollback(); log.Error(ex); throw ex; } } }
// fetch by Foreign key into new List of class instances // links: // docLink: http://sql2x.org/documentationLink/a7599485-4f00-4ebf-974d-53f69c43654e public List <CrudeServicePackagePromotionContract> FetchByBookingId(System.Guid bookingId) { return(DataListToContractList(CrudeServicePackagePromotionData.FetchByBookingId(bookingId))); }