public static LocationModel GetLocation(DSModel db, uint locationID) { if (db == null) { throw new ArgumentNullException("db"); } return(LocationRepository.GetLocations(db, locationID).FirstOrDefault()); }
private static Location InsertLocation(DSModel db, KeyBinder key, LocationModel model, Company company = null) { Location poco = new Location(); poco.LocationName = model.LocationName; if (model.LocationCode == string.Empty) { poco.LocationCode = "L" + LocationRepository.PeekLocationCode(db, "L"); } else { poco.LocationCode = model.LocationCode; } if (company == null) { poco.CompanyID = model.CompanyID; } else { poco.Company = company; } poco.LocationAddress = model.LocationAddress; poco.LocationPhone = model.LocationPhone; poco.LocationFax = model.LocationFax; if (model.ConfirmationContact.IsChanged) { poco.ConfirmationContact = ContactRepository.SaveContact(db, key, model.ConfirmationContact); key.AddKey(poco.ConfirmationContact, model.ConfirmationContact, poco.ConfirmationContact.GetName(p => p.ContactID)); key.AddKey(poco.ConfirmationContact, model, poco.ConfirmationContact.GetName(p => p.ContactID), model.GetName(p => p.ConfirmationContactID)); } if (model.InvoiceContact.IsChanged) { poco.InvoiceContact = ContactRepository.SaveContact(db, key, model.InvoiceContact); key.AddKey(poco.InvoiceContact, model.InvoiceContact, poco.InvoiceContact.GetName(p => p.ContactID)); key.AddKey(poco.InvoiceContact, model, poco.InvoiceContact.GetName(p => p.ContactID), model.GetName(p => p.InvoiceContactID)); } if (model.DispatchContact.IsChanged) { poco.DispatchContact = ContactRepository.SaveContact(db, key, model.DispatchContact); key.AddKey(poco.DispatchContact, model.DispatchContact, poco.DispatchContact.GetName(p => p.ContactID)); key.AddKey(poco.DispatchContact, model, poco.DispatchContact.GetName(p => p.ContactID), model.GetName(p => p.DispatchContactID)); } poco.TravelPay = model.TravelPay; poco.TravelPayName = model.TravelPayName; poco.LunchTime = model.LunchTime; poco.IsEnabled = model.IsEnabled; poco.IncludeConfirmation = model.IncludeConfirmation; db.Add(poco); key.AddKey(poco, model, model.GetName(p => p.LocationID)); return(poco); }
public static LocationModel GetLocation(DSModel db, string locationCode) { if (db == null) { throw new ArgumentNullException("db"); } uint locID = db.Locations.Where(l => l.LocationCode == locationCode).Select(l => l.LocationID).FirstOrDefault(); if (locID == 0) { return(null); } return(LocationRepository.GetLocations(db, locID).FirstOrDefault()); }
public static List <LocationModel> GetLocationsByCompanies(DSModel db, uint[] companies = null) { if (db == null) { throw new ArgumentNullException("db"); } var query = PredicateBuilder.True <Location>(); if (companies != null && companies.Length > 0) { query = query.And(q => companies.Contains(q.CompanyID)); } uint[] ids = db.Locations .Where(query) .Select(i => i.LocationID) .ToArray(); return(LocationRepository.GetLocations(db, ids)); }
private static void UpdateCompany(DSModel db, KeyBinder key, CompanyModel model) { Company poco = db.Companies.Where(c => c.CompanyID == model.CompanyID).FirstOrDefault(); if (poco == null) { throw new ArgumentException("No company with the specified ID!"); } poco.CompanyID = model.CompanyID; poco.CompanyName = model.CompanyName; poco.CompanyCode = model.CompanyCode; poco.CompanyAddress1 = model.CompanyAddress1; poco.CompanyAddress2 = model.CompanyAddress2; poco.CompanyCity = model.CompanyCity; poco.CompanyState = model.CompanyState; poco.CompanyPostCode = model.CompanyPostCode; poco.CompanyContactName = model.CompanyContactName; poco.CompanyFax = model.CompanyFax; poco.CompanyPhone = model.CompanyPhone; poco.CompanyEmail = model.CompanyEmail; poco.LunchTime = model.LunchTime; poco.TrainingTime = model.TrainingTime; poco.IsEnabled = model.IsEnabled; List <Location> locationsToBeDeleted = poco.Locations.Where(dl => !model.Locations.Any(ml => ml.LocationID == dl.LocationID)).ToList(); foreach (var del in locationsToBeDeleted) { db.Delete(del); poco.Locations.Remove(del); } foreach (var ins in model.Locations) { Location loc = LocationRepository.SaveLocation(db, key, ins, poco); poco.Locations.Add(loc); key.AddKey(loc, ins, ins.GetName(p => p.LocationID)); } }
private static void InsertCompany(DSModel db, KeyBinder key, CompanyModel model) { Company poco = new Company(); poco.CompanyID = model.CompanyID; poco.CompanyName = model.CompanyName; if (model.CompanyCode == string.Empty) { poco.CompanyCode = "C" + CompanyRepository.PeekCompanyCode(db, "C"); } else { poco.CompanyCode = model.CompanyCode; } poco.CompanyAddress1 = model.CompanyAddress1; poco.CompanyAddress2 = model.CompanyAddress2; poco.CompanyCity = model.CompanyCity; poco.CompanyState = model.CompanyState; poco.CompanyPostCode = model.CompanyPostCode; poco.CompanyContactName = model.CompanyContactName; poco.CompanyFax = model.CompanyFax; poco.CompanyPhone = model.CompanyPhone; poco.CompanyEmail = model.CompanyEmail; poco.LunchTime = model.LunchTime; poco.TrainingTime = model.TrainingTime; poco.IsEnabled = model.IsEnabled; foreach (var loc in model.Locations) { Location l = LocationRepository.SaveLocation(db, key, loc, poco); poco.Locations.Add(l); key.AddKey(l, loc, loc.GetName(p => p.LocationID)); key.AddKey(poco, loc, loc.GetName(p => p.CompanyID)); } db.Add(poco); key.AddKey(poco, model, model.GetName(p => p.CompanyID)); }
public static CompanyModel GetCompany(DSModel db, uint companyID) { if (db == null) { throw new ArgumentNullException("db"); } var poco = db.Companies.Where(c => c.CompanyID == companyID).FirstOrDefault(); if (poco == null) { return(null); } CompanyModel mod = new CompanyModel(); mod.CompanyID = poco.CompanyID; mod.CompanyName = poco.CompanyName; mod.CompanyCode = poco.CompanyCode; mod.CompanyAddress1 = poco.CompanyAddress1; mod.CompanyAddress2 = poco.CompanyAddress2; mod.CompanyCity = poco.CompanyCity; mod.CompanyState = poco.CompanyState; mod.CompanyPostCode = poco.CompanyPostCode; mod.CompanyFax = poco.CompanyFax; mod.CompanyPhone = poco.CompanyPhone; mod.CompanyEmail = poco.CompanyEmail; mod.LunchTime = poco.LunchTime; mod.TrainingTime = poco.TrainingTime; mod.IsEnabled = poco.IsEnabled; mod.Locations.AddRange(LocationRepository.GetLocationsByCompany(db, companyID)); mod.IsChanged = false; return(mod); }
public static List <LocationModel> GetLocationsByCompany(DSModel db, uint companyID) { return(LocationRepository.GetLocationsByCompanies(db, new uint[] { companyID })); }