public bool DeleteById(int id) { using (var context = new PRToolsEntities()) { var documentToDelete = context.Documents.FirstOrDefault(x => x.DocumentId == id); if (documentToDelete == null) return false; context.DeleteObject(documentToDelete); context.SaveChanges(); return true; } }
//todo: need to either use PRG pattern or ajax so don't try to delete multiple times public void Delete(DeleteAccountRequest deleteAccountRequest) { using (var context = new PRToolsEntities()) { Account accountEntity = context.Accounts.SingleOrDefault(x => x.AccountId == deleteAccountRequest.AccountId); if (accountEntity != null) { context.Accounts.DeleteObject(accountEntity); context.SaveChanges(); } } }
public void ChangePassword(string username, string currentPassword, string newPassword) { using (var context = new PRToolsEntities()) { IQueryable<Account> result = context.Accounts.Where(x => x.Username == username && x.Password == currentPassword); if (result.Count() != 1) throw new ObjectNotFoundException(); result.First().Password = newPassword; result.First().MustChangePassword = false; context.SaveChanges(); } }
public void LogException(Exception exception) { Debug.WriteLine(exception.ToString()); using (var context = new PRToolsEntities()) { context.AddToLogs(new Log { LogItemData = exception.Message, SecondaryLogItemData = (exception.InnerException != null ? exception.InnerException.Message : null), TertiaryLogItemData = exception.StackTrace, }); context.SaveChanges(); } }
public void Create(CreateAccountRequest createAccountRequest, string encryptedPassword) { using (var context = new PRToolsEntities()) { string roleName = createAccountRequest.Role.ToString(); Role roleEntity = context.Roles.SingleOrDefault(x => x.RoleName == roleName); var accountEntity = new Account { FirstName = createAccountRequest.FirstName, LastName = createAccountRequest.LastName, Username = createAccountRequest.Username, Password = encryptedPassword, Email = createAccountRequest.EmailAddress, Role = roleEntity, MustChangePassword = true, }; context.Accounts.AddObject(accountEntity); context.SaveChanges(); } }
public void UpsertLocalizedDocuments(int DocumentId, List<ProcessedDocument> processedDocuments, String userName) { using (var context = new PRToolsEntities()) { var d = context.Documents.Where(x => x.DocumentId == DocumentId).FirstOrDefault(); var customerIds = processedDocuments.Select(pd => pd.CustomerId).ToList(); var existingCustomerURLS = d.CustomerDocumentURLs; foreach (var pd in processedDocuments) { var durl = existingCustomerURLS.Where(x => x.CustomerId == pd.CustomerId).FirstOrDefault() ?? GetCustomerDocumentUrl(pd.CustomerId, DocumentId, userName, context); durl.Title = pd.Title; // may want to not update this if it has been (edited) -- meaning manually tweaked. durl.Body = pd.Body; durl.Edited = pd.Edited; //durl.CustomerId = durl.Status = CustomerDocumentURLStatus.Localized; } context.SaveChanges(); } }
public void Update(Domain.CustomerDocumentURL curl) { using (var context = new PRToolsEntities()) { var cdurl = context.CustomerDocumentURLs.Where(cdu => cdu.CustomerDocumentURLId == curl.URLKey).First(); cdurl.Title = curl.Title; cdurl.Body = curl.Body; cdurl.Status = curl.Status; cdurl.Edited = curl.Edited; cdurl.CustomerComments = curl.CustomerComments; context.SaveChanges(); } }
public Domain.Document Update(string username, Domain.Document document) { using (var context = new PRToolsEntities()) { Document currentDocument = context.Documents.FirstOrDefault(x => x.DocumentId == document.DocumentId); currentDocument.Title = document.Title; currentDocument.Body = document.Body; currentDocument.CustomerID = document.CustomerId; context.SaveChanges(); return new Domain.Document { Body = currentDocument.Body, CreatedByUsername = currentDocument.CreatedByUsername, CreatedDate = currentDocument.CreatedDate, DocumentId = currentDocument.DocumentId, Title = currentDocument.Title, CustomerId = Convert.ToInt32(currentDocument.CustomerID), }; } }
public Domain.Document Save(string username, Domain.Document document) { using (var context = new PRToolsEntities()) { var documentEntity = new Document { CreatedByUsername = username, Title = document.Title, Body = document.Body, CreatedDate = _timeProvider.Now, CustomerID = document.CustomerId, CutoffDate = document.CutoffDate, }; context.Documents.AddObject(documentEntity); context.SaveChanges(); return new Domain.Document { DocumentId = documentEntity.DocumentId, Title = documentEntity.Title, Body = documentEntity.Body, CreatedByUsername = documentEntity.CreatedByUsername, CreatedDate = documentEntity.CreatedDate, CustomerId = Convert.ToInt32(documentEntity.CustomerID), CutoffDate = Convert.ToDateTime(documentEntity.CutoffDate), }; } }
public Domain.Document Save(string username, SaveDocumentInputModel saveDocumentInputModel) { using (var context = new PRToolsEntities()) { var documentEntity = new Document { CreatedByUsername = username, Title = saveDocumentInputModel.Title, Body = saveDocumentInputModel.Body, CreatedDate = _timeProvider.Now, CustomerID = saveDocumentInputModel.CustomerId }; context.Documents.AddObject(documentEntity); context.SaveChanges(); return new Domain.Document { DocumentId = documentEntity.DocumentId, Title = documentEntity.Title, Body = documentEntity.Body, CreatedByUsername = documentEntity.CreatedByUsername, CreatedDate = documentEntity.CreatedDate, }; } }
public void Delete(int customerId) { using (var context = new PRToolsEntities()) { Customer customerEntity = context.Customers.Include("Addresses").FirstOrDefault(x => x.CustomerId == customerId); if (customerEntity == null) throw new ObjectNotFoundException(); List<Address> addressEntities = customerEntity.Addresses.ToList(); foreach (Address addressEntity in addressEntities) { context.DeleteObject(addressEntity); } List<Contact> contactEntities = customerEntity.Contacts.ToList(); foreach (Contact contactEntity in contactEntities) { context.DeleteObject(contactEntity); } context.DeleteObject(customerEntity); context.SaveChanges(); } }
public void Create(CreateCustomerRequest createCustomerRequest) { using (var context = new PRToolsEntities()) { var customerEntity = new Customer { FacebookURL = createCustomerRequest.FacebookUrl, ZLastName = createCustomerRequest.ZLastName, ZFirstName = createCustomerRequest.ZFirstName, WebsiteURL = createCustomerRequest.WebsiteUrl, TwitterHandle = createCustomerRequest.TwitterHandle, Phone = createCustomerRequest.Phone, Name = createCustomerRequest.Name, ListName = createCustomerRequest.ListName, GooglePlacesURL = createCustomerRequest.GooglePlacesUrl, }; if (createCustomerRequest.ParentCustomerId > 0) customerEntity.ParentCustomerId = createCustomerRequest.ParentCustomerId; if (createCustomerRequest.AccountManagerId > 0) customerEntity.AccountManagerId = createCustomerRequest.AccountManagerId; if (createCustomerRequest.CustomerType != Domain.CustomerType.Undefined) { string customerTypeKey = createCustomerRequest.CustomerType.ToString(); CustomerType customerType = context.CustomerTypes.FirstOrDefault( x => x.CustomerTypeKey == customerTypeKey); customerEntity.CustomerType = customerType; } customerEntity.Addresses.Add(new Address { Street = createCustomerRequest.MailingAddress.Street, AdditionalInfo = createCustomerRequest.MailingAddress.AdditionalInfo, City = createCustomerRequest.MailingAddress.City, State = createCustomerRequest.MailingAddress.State, Zipcode = createCustomerRequest.MailingAddress.Zipcode, AddressType = "Mailing", }); foreach (Domain.Contact contact in createCustomerRequest.Contacts) { customerEntity.Contacts.Add(new Contact { FirstName = contact.FirstName, LastName = contact.LastName, Phone = contact.Phone, Email = contact.Email, }); } context.Customers.AddObject(customerEntity); context.SaveChanges(); } }
public void Update(UpdateCustomerRequest updateCustomerRequest) { using (var context = new PRToolsEntities()) { IQueryable<Customer> customerEntities = context.Customers.Where(x => x.CustomerId == updateCustomerRequest.Id); if (customerEntities.Count() < 1) throw new ObjectNotFoundException(); Customer customerEntity = customerEntities.FirstOrDefault(); customerEntity.Name = updateCustomerRequest.Name; customerEntity.Phone = updateCustomerRequest.Phone; customerEntity.GooglePlacesURL = updateCustomerRequest.GooglePlacesUrl; customerEntity.TwitterHandle = updateCustomerRequest.TwitterHandle; customerEntity.WebsiteURL = updateCustomerRequest.WebsiteUrl; customerEntity.FacebookURL = updateCustomerRequest.FacebookUrl; customerEntity.ZFirstName = updateCustomerRequest.ZFirstName; customerEntity.ZLastName = updateCustomerRequest.ZLastName; if (updateCustomerRequest.ParentCustomerId > 0) customerEntity.ParentCustomerId = updateCustomerRequest.ParentCustomerId; else { customerEntity.ParentCustomerId = null; } if(updateCustomerRequest.AccountManagerId > 0) customerEntity.AccountManagerId = updateCustomerRequest.AccountManagerId; else { customerEntity.AccountManagerId = null; } if (updateCustomerRequest.CustomerType != Domain.CustomerType.Undefined) { string customerTypeKey = updateCustomerRequest.CustomerType.ToString(); CustomerType customerType = context.CustomerTypes.FirstOrDefault(x => x.CustomerTypeKey == customerTypeKey); customerEntity.CustomerType = customerType; } Address addressEntity = context.Addresses.FirstOrDefault(); addressEntity.Street = updateCustomerRequest.MailingAddress.Street; addressEntity.AdditionalInfo = updateCustomerRequest.MailingAddress.AdditionalInfo; addressEntity.City = updateCustomerRequest.MailingAddress.City; addressEntity.State = updateCustomerRequest.MailingAddress.State; addressEntity.Zipcode = updateCustomerRequest.MailingAddress.Zipcode; foreach (Domain.Contact contact in updateCustomerRequest.Contacts) { int id = contact.Id; Contact contactEntity = context.Contacts.FirstOrDefault(x => x.ContactId == id); contactEntity.FirstName = contact.FirstName; contactEntity.LastName = contact.LastName; contactEntity.Phone = contact.Phone; contactEntity.Email = contact.Email; } context.SaveChanges(); } }
public void Update(UpdateAccountRequest updateAccountRequest) { using (var _context = new PRToolsEntities()) { string rolename = updateAccountRequest.Role.ToString(); Role role = _context.Roles.Single(x => x.RoleName == rolename); Account account = _context.Accounts.Single(x => x.AccountId == updateAccountRequest.AccountId); account.FirstName = updateAccountRequest.FirstName; account.LastName = updateAccountRequest.LastName; account.Role = role; account.Email = updateAccountRequest.EmailAddress; _context.SaveChanges(); } }