// transfer model to data and update, on a transaction // links: // docLink: http://sql2x.org/documentationLink/aa07e05b-edc8-4e09-bf93-bf2a40c93c09 public void Update(CrudeClientContactMethodModel model, SqlConnection connection, SqlTransaction transaction) { var data = new CrudeClientContactMethodData(); 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(CrudeClientContactMethodModel model) { var data = new CrudeClientContactMethodData(); ModelToData(model, data); data.Update(); }
// insert all object members as a new row in table // links: // docLink: http://sql2x.org/documentationLink/75aad010-e6aa-4f19-a6e5-597456aa20d8 public void Insert(CrudeClientContactMethodContract contract) { var data = new CrudeClientContactMethodData(); ContractToData(contract, data); data.Insert(); }
// 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(CrudeClientContactMethodContract contract) { var data = new CrudeClientContactMethodData(); ContractToData(contract, 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(CrudeClientContactMethodContract contract, SqlConnection connection, SqlTransaction transaction) { var data = new CrudeClientContactMethodData(); ContractToData(contract, data); data.Update(connection, transaction); }
// transfer model to data and insert // links: // docLink: http://sql2x.org/documentationLink/17cd8423-3c78-459f-a45b-773fcfbc3b7d public void Insert(CrudeClientContactMethodModel model) { var data = new CrudeClientContactMethodData(); ModelToData(model, data); data.Insert(); }
// 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 <CrudeClientContactMethodContract> contractList, List <CrudeClientContactMethodData> dataList) { foreach (CrudeClientContactMethodContract contract in contractList) { var data = new CrudeClientContactMethodData(); CrudeClientContactMethodService.ContractToData(contract, data); dataList.Add(data); } }
// 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: // CrudeClientContactMethodData: key of table CrudeClientContactMethodData public static void ModelListToDataList(List <CrudeClientContactMethodModel> modelList, List <CrudeClientContactMethodData> dataList) { foreach (CrudeClientContactMethodModel model in modelList) { var data = new CrudeClientContactMethodData(); ModelToData(model, 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/fdcc33b4-08f1-43c3-ae28-95fbf029c3bd // parameters: // CrudeClientContactMethodData: primary key of table CrudeClientContactMethodData public CrudeClientContactMethodModel FetchByClientContactMethodId(System.Guid clientContactMethodId) { var dataAccessLayer = new CrudeClientContactMethodData(); var model = new CrudeClientContactMethodModel(); dataAccessLayer.FetchByClientContactMethodId(clientContactMethodId); DataToModel(dataAccessLayer, model); return(model); }
// 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: // clientContactMethodId: primary key of table client_contact_method public CrudeClientContactMethodContract FetchByClientContactMethodId(System.Guid clientContactMethodId) { var dataAccessLayer = new CrudeClientContactMethodData(); var contract = new CrudeClientContactMethodContract(); dataAccessLayer.FetchByClientContactMethodId(clientContactMethodId); DataToContract(dataAccessLayer, contract); return(contract); }
// 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(CrudeClientContactMethodData data, CrudeClientContactMethodContract contract) { contract.ClientContactMethodId = data.ClientContactMethodId; contract.ClientId = data.ClientId; contract.ContactMethodRcd = data.ContactMethodRcd; contract.ContactMethodWay = data.ContactMethodWay; contract.Comment = data.Comment; contract.UserId = data.UserId; contract.DateTime = data.DateTime; }
// 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(CrudeClientContactMethodContract contract, CrudeClientContactMethodData data) { data.ClientContactMethodId = contract.ClientContactMethodId; data.ClientId = contract.ClientId; data.ContactMethodRcd = contract.ContactMethodRcd; data.ContactMethodWay = contract.ContactMethodWay; data.Comment = contract.Comment; data.UserId = contract.UserId; data.DateTime = contract.DateTime; }
// transfer data object to model object // links: // docLink: http://sql2x.org/documentationLink/43d57600-5ff5-4ef8-9330-123773d100d3 public static void DataToModel(CrudeClientContactMethodData data, CrudeClientContactMethodModel model) { model.ClientContactMethodId = data.ClientContactMethodId; model.ClientId = data.ClientId; model.ContactMethodRcd = data.ContactMethodRcd; model.ContactMethodWay = data.ContactMethodWay; model.Comment = data.Comment; model.UserId = data.UserId; model.DateTime = data.DateTime; }
// transfer model object to data object // links: // docLink: http://sql2x.org/documentationLink/95875d99-b7f7-4a9e-baa4-3fbe9925d8a2 public static void ModelToData(CrudeClientContactMethodModel model, CrudeClientContactMethodData data) { data.ClientContactMethodId = model.ClientContactMethodId; data.ClientId = model.ClientId; data.ContactMethodRcd = model.ContactMethodRcd; data.ContactMethodWay = model.ContactMethodWay; data.Comment = model.Comment; data.UserId = model.UserId; data.DateTime = model.DateTime; }
// fetch all from table into new List of class instances, only populating specific columns, // with a limit on number of returned rows and order by columns starting at a specific row // links: // docLink: http://sql2x.org/documentationLink/12d2812e-e963-4f26-8014-48c4e9cfb3ae public static List <CrudeClientContactMethodData> FetchAllWithLimitAndOffset(int limit, int offset) { var dataList = new List <CrudeClientContactMethodData>(); // create query against client_contact_method // this will be ansi sql and parameterized // parameterized queries are a good way of preventing sql injection // and to make sure the query plan is pre-compiled // links: // docLink: http://sql2x.org/documentationLink/21eca289-4747-4a75-b0a2-1a58457be608 string sql = @" select client_contact_method_id, client_id, contact_method_rcd, contact_method_way, comment, user_id, date_time from [client_contact_method]"; // open standard connection // the connection is found in web.config // the connection is closed upon completion of the reader // links: // docLink: http://sql2x.org/documentationLink/c3e624a4-8479-4c17-bec7-ec09f3abbe64 using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { // execute query against client_contact_method // if the query fails in the preprocessor of sql server // an exception will be raised // links: // docLink: http://sql2x.org/documentationLink/6507b543-adbc-4863-810b-8db439f40d5c IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); int count = 0; // read all rows returned from the query of client_contact_method // read all columns from the datareader and // populate the List of C# objects with them // links: // docLink: http://sql2x.org/documentationLink/fcd15e2f-df3f-44d8-8a13-d2e93d97f685 while (reader.Read()) { if ((count >= offset) && (count <= offset + limit)) { var data = new CrudeClientContactMethodData(); data.Populate(reader); dataList.Add(data); } count++; if (count > limit + offset) { break; } } } return(dataList); } }
// fetch by Foreign key into new List of class instances // links: // docLink: http://sql2x.org/documentationLink/13095cd7-f136-4532-8969-c50c62cc05ef public static List <CrudeClientContactMethodData> FetchByContactMethodRcd(string contactMethodRcd) { var dataList = new List <CrudeClientContactMethodData>(); // create query against client_contact_method // this will be ansi sql and parameterized // parameterized queries are a good way of preventing sql injection // and to make sure the query plan is pre-compiled // links: // docLink: http://sql2x.org/documentationLink/86c78f05-a65f-4dfe-b048-d0cbece49f4e string sql = @" select client_contact_method_id, client_id, contact_method_rcd, contact_method_way, comment, user_id, date_time from [client_contact_method] where contact_method_rcd = @contact_method_rcd "; // open standard connection // the connection is found in web.config // the connection is closed upon completion of the reader // links: // docLink: http://sql2x.org/documentationLink/6fd25822-459f-4796-803a-071a3a270aa0 using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { // add foreign key column // this foreign key column will be used together with the prepared ansi sql statement // links: // docLink: http://sql2x.org/documentationLink/8aec2e5c-4732-4662-badb-83b89d1c34a9 command.Parameters.Add("@contact_method_rcd", SqlDbType.NVarChar).Value = contactMethodRcd.Replace("'", "''"); // execute query against client_contact_method // if the query fails in the preprocessor of sql server // an exception will be raised // links: // docLink: http://sql2x.org/documentationLink/bb9abe5c-d2c1-455a-b597-a2af0a35de5a IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); // read all rows returned from the query of client_contact_method // read all columns from the datareader and // populate the List of C# objects with them // links: // docLink: http://sql2x.org/documentationLink/5c413c03-5ddc-472a-a63d-53aecc7a2573 while (reader.Read()) { var data = new CrudeClientContactMethodData(); data.Populate(reader); dataList.Add(data); } } return(dataList); } }
// 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 <CrudeClientContactMethodModel> FetchAllWithLimitAndOffset(string limit, string offset) { var list = new List <CrudeClientContactMethodModel>(); List <CrudeClientContactMethodData> dataList = CrudeClientContactMethodData.FetchAllWithLimitAndOffset(int.Parse(limit), int.Parse(offset)); foreach (CrudeClientContactMethodData crudeClientContactMethodBusiness in dataList) { var model = new CrudeClientContactMethodModel(); DataToModel(crudeClientContactMethodBusiness, model); list.Add(model); } return(list); }
// 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 <CrudeClientContactMethodContract> FetchAllWithLimitAndOffset(int limit, int offset) { var list = new List <CrudeClientContactMethodContract>(); List <CrudeClientContactMethodData> dataList = CrudeClientContactMethodData.FetchAllWithLimitAndOffset(limit, offset); foreach (CrudeClientContactMethodData crudeClientContactMethod in dataList) { var contract = new CrudeClientContactMethodContract(); DataToContract(crudeClientContactMethod, contract); list.Add(contract); } return(list); }
// copy all rows from a List of serialized data objects in CrudeClientContactMethodData to a List of SOAP Contracts // links: // docLink: http://sql2x.org/documentationLink/9204c68e-93b8-4c77-af3c-3181985ff75f public List <CrudeClientContactMethodContract> FetchAll() { var list = new List <CrudeClientContactMethodContract>(); List <CrudeClientContactMethodData> dataList = CrudeClientContactMethodData.FetchAll(); foreach (CrudeClientContactMethodData crudeClientContactMethod in dataList) { var contract = new CrudeClientContactMethodContract(); DataToContract(crudeClientContactMethod, contract); list.Add(contract); } return(list); }
// copy all rows from a List of serialized data objects in CrudeClientContactMethodData to a List of SOAP Contracts // links: // docLink: http://sql2x.org/documentationLink/3d3e60c3-69e4-43d6-8bd5-14a67a6ecf58 public List <CrudeClientContactMethodModel> FetchAll() { var list = new List <CrudeClientContactMethodModel>(); List <CrudeClientContactMethodData> dataList = CrudeClientContactMethodData.FetchAll(); foreach (CrudeClientContactMethodData crudeClientContactMethodBusiness in dataList) { var model = new CrudeClientContactMethodModel(); DataToModel(crudeClientContactMethodBusiness, model); list.Add(model); } 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 <CrudeClientContactMethodModel> FetchWithFilter(System.Guid clientContactMethodId, System.Guid clientId, string contactMethodRcd, string contactMethodWay, string comment, System.Guid userId, System.DateTime dateTime) { var list = new List <CrudeClientContactMethodModel>(); List <CrudeClientContactMethodData> dataList = CrudeClientContactMethodData.FetchWithFilter(clientContactMethodId, clientId, contactMethodRcd, contactMethodWay, comment, userId, dateTime); foreach (CrudeClientContactMethodData data in dataList) { var crudeClientContactMethodBusinessModel = new CrudeClientContactMethodModel(); DataToModel(data, crudeClientContactMethodBusinessModel); list.Add(crudeClientContactMethodBusinessModel); } return(list); }
// fetch by Primary key into new class instance // links: // crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete // docLink: http://sql2x.org/documentationLink/7a625d0a-3028-42ce-a543-72ea3673cef4 // parameters: // clientContactMethodId: primary key of table client_contact_method public static CrudeClientContactMethodData GetByClientContactMethodId(System.Guid clientContactMethodId) { // create query against client_contact_method // this will be ansi sql and parameterized // parameterized queries are a good way of preventing sql injection // and to make sure the query plan is pre-compiled // links: // docLink: http://sql2x.org/documentationLink/72f5fc83-c460-40fe-bac9-73b7ee0c6b77 string sql = @" select top 1 client_contact_method_id, client_id, contact_method_rcd, contact_method_way, comment, user_id, date_time from [client_contact_method] where client_contact_method_id = @client_contact_method_id"; var ret = new CrudeClientContactMethodData(); // open standard connection // the connection is found in web.config // the connection is closed upon completion of the reader // links: // docLink: http://sql2x.org/documentationLink/1ecca728-0c07-4dd7-b095-d10777b25b70 using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { // add primary key // this primary key will be used together with the prepared ansi sql statement // links: // docLink: http://sql2x.org/documentationLink/1ecca728-0c07-4dd7-b095-d10777b25b70 command.Parameters.Add("@client_contact_method_id", SqlDbType.UniqueIdentifier).Value = clientContactMethodId; // execute query against client_contact_method // if the query fails in the preprocessor of sql server // an exception will be raised // links: // docLink: http://sql2x.org/documentationLink/fd5c5faa-b400-4f29-b12b-9675c53a757f IDataReader reader = command.ExecuteReader(CommandBehavior.SingleRow); // populate serialized class if a row was found if (reader.Read()) { ret.Populate(reader); } } } return(ret); }
// fetch all rows from table client_contact_method into new List of class instances // links: // docLink: http://sql2x.org/documentationLink/7ca0c014-527e-4a0a-bd1f-12f4d8ea4b43 public static List <CrudeClientContactMethodData> FetchAll() { var dataList = new List <CrudeClientContactMethodData>(); // create query against client_contact_method // this will be ansi sql and parameterized // parameterized queries are a good way of preventing sql injection // and to make sure the query plan is pre-compiled // links: // docLink: http://sql2x.org/documentationLink/72f9f1bc-447c-4327-9d26-4b0790a07ff8 string sql = @" select client_contact_method_id, client_id, contact_method_rcd, contact_method_way, comment, user_id, date_time from [client_contact_method]"; // open standard connection // the connection is found in web.config // the connection is closed upon completion of the reader // links: // docLink: http://sql2x.org/documentationLink/952b3f82-bc00-4e82-9430-6bc26ff8bc4d using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { // execute query against client_contact_method // if the query fails in the preprocessor of sql server // an exception will be raised // links: // docLink: http://sql2x.org/documentationLink/ed55cc5b-d6be-4f5e-9385-ee726dfc2bf1 IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); // read all rows returned from the query of client_contact_method // read all columns from the datareader and // populate the List of C# objects with them // links: // docLink: http://sql2x.org/documentationLink/c1b8b800-b250-4822-a699-d93a35f4414d while (reader.Read()) { var data = new CrudeClientContactMethodData(); data.Populate(reader); dataList.Add(data); } } return(dataList); } }
// fetch all from table into new List of class instances, with a limit on number of returned rows and order by columns // links: // docLink: http://sql2x.org/documentationLink/dfaa482b-059b-4f17-a9a9-4885138dbb46 public static List <CrudeClientContactMethodData> FetchAllWithLimit(int limit) { var dataList = new List <CrudeClientContactMethodData>(); // create query against client_contact_method // this will be ansi sql and parameterized // parameterized queries are a good way of preventing sql injection // and to make sure the query plan is pre-compiled // links: // docLink: http://sql2x.org/documentationLink/41f82773-6d37-4ebe-840c-c60e06337f45 string sql = @" select top " + limit.ToString() + @" client_contact_method_id, client_id, contact_method_rcd, contact_method_way, comment, user_id, date_time from [client_contact_method]"; // open standard connection // the connection is found in web.config // the connection is closed upon completion of the reader // links: // docLink: http://sql2x.org/documentationLink/da228d98-b30e-4d79-89ae-98e813437753 using (var conn = new SqlConnection(Conn.ConnectionString)) { conn.Open(); using (var command = new SqlCommand(sql, conn)) { // execute query against client_contact_method // if the query fails in the preprocessor of sql server // an exception will be raised // links: // docLink: http://sql2x.org/documentationLink/c32ad724-8a03-4b4c-b6fb-a5abfb1d707e IDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult); // read all rows returned from the query of client_contact_method // read all columns from the datareader and // populate the List of C# objects with them // links: // docLink: http://sql2x.org/documentationLink/9ba4395d-d8a4-4427-b80f-7b828e34da7a while (reader.Read()) { var data = new CrudeClientContactMethodData(); data.Populate(reader); dataList.Add(data); } } return(dataList); } }
// 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 <CrudeClientContactMethodContract> FetchWithFilter(System.Guid clientContactMethodId, System.Guid clientId, string contactMethodRcd, string contactMethodWay, string comment, System.Guid userId, System.DateTime dateTime) { var list = new List <CrudeClientContactMethodContract>(); List <CrudeClientContactMethodData> dataList = CrudeClientContactMethodData.FetchWithFilter( clientContactMethodId: clientContactMethodId, clientId: clientId, contactMethodRcd: contactMethodRcd, contactMethodWay: contactMethodWay, comment: comment, userId: userId, dateTime: dateTime ); foreach (CrudeClientContactMethodData data in dataList) { var crudeClientContactMethodContract = new CrudeClientContactMethodContract(); DataToContract(data, crudeClientContactMethodContract); list.Add(crudeClientContactMethodContract); } return(list); }
// get a count of rows in table // links: // docLink: http://sql2x.org/documentationLink/7cd5e52c-b3d7-4566-a27a-408d0732dd88 public int FetchAllCount() { return(CrudeClientContactMethodData.FetchAllCount()); }
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; } } }
// delete a row in table based on primary key // links: // docLink: http://sql2x.org/documentationLink/eb0597e0-8ea0-425c-88af-213a170bbd5e public void Delete(System.Guid clientContactMethodId) { CrudeClientContactMethodData.Delete(clientContactMethodId); }
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 <CrudeClientContactMethodContract> FetchByContactMethodRcd(string contactMethodRcd) { return(DataListToContractList(CrudeClientContactMethodData.FetchByContactMethodRcd(contactMethodRcd))); }