public static PhonebookPhone ConvertToPhonebookPhone(this PhonebookPhoneViewModel PhonebookPhoneViewModel) { PhonebookPhone PhonebookPhone = new PhonebookPhone() { Id = PhonebookPhoneViewModel.Id, Identifier = PhonebookPhoneViewModel.Identifier, PhonebookId = PhonebookPhoneViewModel.Phonebook?.Id ?? null, Email = PhonebookPhoneViewModel.Email, Name = PhonebookPhoneViewModel.Name, SurName = PhonebookPhoneViewModel.SurName, PhoneNumber = PhonebookPhoneViewModel.PhoneNumber, ItemStatus = PhonebookPhoneViewModel.ItemStatus, Active = PhonebookPhoneViewModel.IsActive, CreatedById = PhonebookPhoneViewModel.CreatedBy?.Id ?? null, CompanyId = PhonebookPhoneViewModel.Company?.Id ?? null, UpdatedAt = PhonebookPhoneViewModel.UpdatedAt, CreatedAt = PhonebookPhoneViewModel.CreatedAt, }; return(PhonebookPhone); }
public PhonebookPhone GetPhonebookPhone(int id) { PhonebookPhone PhonebookPhone = null; string queryString = selectString + "WHERE Id = @Id;"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = connection.CreateCommand(); command.CommandText = queryString; command.Parameters.Add(new SqlParameter("@Id", id)); connection.Open(); using (SqlDataReader reader = command.ExecuteReader()) { if (reader.Read()) { PhonebookPhone = Read(reader); } } } return(PhonebookPhone); }
public static PhonebookPhoneViewModel ConvertToPhonebookPhoneViewModel(this PhonebookPhone PhonebookPhone) { PhonebookPhoneViewModel PhonebookPhoneViewModel = new PhonebookPhoneViewModel() { Id = PhonebookPhone.Id, Identifier = PhonebookPhone.Identifier, Phonebook = PhonebookPhone.Phonebook?.ConvertToPhonebookViewModelLite(), Email = PhonebookPhone.Email, Name = PhonebookPhone.Name, SurName = PhonebookPhone.SurName, PhoneNumber = PhonebookPhone.PhoneNumber, ItemStatus = PhonebookPhone.ItemStatus, IsActive = PhonebookPhone.Active, CreatedBy = PhonebookPhone.CreatedBy?.ConvertToUserViewModelLite(), Company = PhonebookPhone.Company?.ConvertToCompanyViewModelLite(), UpdatedAt = PhonebookPhone.UpdatedAt, CreatedAt = PhonebookPhone.CreatedAt, }; return(PhonebookPhoneViewModel); }
public static List <PhonebookPhoneViewModel> ConvertToPhonebookPhoneViewModelList(this IEnumerable <PhonebookPhone> PhonebookPhones) { List <PhonebookPhoneViewModel> PhonebookPhoneViewModels = new List <PhonebookPhoneViewModel>(); foreach (PhonebookPhone PhonebookPhone in PhonebookPhones) { PhonebookPhoneViewModels.Add(PhonebookPhone.ConvertToPhonebookPhoneViewModel()); } return(PhonebookPhoneViewModels); }
public PhonebookPhone Delete(Guid identifier) { PhonebookPhone dbEntry = context.PhonebookPhones .Union(context.ChangeTracker.Entries() .Where(x => x.State == EntityState.Added && x.Entity.GetType() == typeof(PhonebookPhone)) .Select(x => x.Entity as PhonebookPhone)) .FirstOrDefault(x => x.Identifier == identifier && x.Active == true); if (dbEntry != null) { dbEntry.Active = false; dbEntry.UpdatedAt = DateTime.Now; } return(dbEntry); }
public PhonebookPhone Create(PhonebookPhone PhonebookPhone) { if (context.PhonebookPhones.Where(x => x.Identifier != null && x.Identifier == PhonebookPhone.Identifier).Count() == 0) { PhonebookPhone.Id = 0; PhonebookPhone.Active = true; PhonebookPhone.UpdatedAt = DateTime.Now; PhonebookPhone.CreatedAt = DateTime.Now; context.PhonebookPhones.Add(PhonebookPhone); return(PhonebookPhone); } else { // Load PhonebookPhone that will be updated PhonebookPhone dbEntry = context.PhonebookPhones .FirstOrDefault(x => x.Identifier == PhonebookPhone.Identifier && x.Active == true); if (dbEntry != null) { dbEntry.PhonebookId = PhonebookPhone.PhonebookId ?? null; dbEntry.CompanyId = PhonebookPhone.CompanyId ?? null; dbEntry.CreatedById = PhonebookPhone.CreatedById ?? null; // Set properties dbEntry.Email = PhonebookPhone.Email; dbEntry.Name = PhonebookPhone.Name; dbEntry.SurName = PhonebookPhone.SurName; dbEntry.PhoneNumber = PhonebookPhone.PhoneNumber; dbEntry.ItemStatus = PhonebookPhone.ItemStatus; // Set timestamp dbEntry.UpdatedAt = DateTime.Now; } return(dbEntry); } }
private static PhonebookPhone Read(SqlDataReader reader) { PhonebookPhone PhonebookPhone = new PhonebookPhone(); PhonebookPhone.Id = Int32.Parse(reader["PhonebookPhoneId"].ToString()); PhonebookPhone.Identifier = Guid.Parse(reader["PhonebookPhoneIdentifier"].ToString()); if (reader["PhonebookId"] != DBNull.Value) { PhonebookPhone.Phonebook = new Phonebook(); PhonebookPhone.PhonebookId = Int32.Parse(reader["PhonebookId"].ToString()); PhonebookPhone.Phonebook.Id = Int32.Parse(reader["PhonebookId"].ToString()); PhonebookPhone.Phonebook.Identifier = Guid.Parse(reader["PhonebookIdentifier"].ToString()); PhonebookPhone.Phonebook.Code = reader["PhonebookCode"].ToString(); PhonebookPhone.Phonebook.Name = reader["PhonebookName"].ToString(); } if (reader["Name"] != DBNull.Value) { PhonebookPhone.Name = reader["Name"].ToString(); } if (reader["SurName"] != DBNull.Value) { PhonebookPhone.SurName = reader["SurName"].ToString(); } if (reader["PhoneNumber"] != DBNull.Value) { PhonebookPhone.PhoneNumber = reader["PhoneNumber"].ToString(); } if (reader["Email"] != DBNull.Value) { PhonebookPhone.Email = reader["Email"].ToString(); } if (reader["ItemStatus"] != DBNull.Value) { PhonebookPhone.ItemStatus = Int32.Parse(reader["ItemStatus"].ToString()); } PhonebookPhone.Active = bool.Parse(reader["Active"].ToString()); PhonebookPhone.UpdatedAt = DateTime.Parse(reader["UpdatedAt"].ToString()); if (reader["CreatedById"] != DBNull.Value) { PhonebookPhone.CreatedBy = new User(); PhonebookPhone.CreatedById = Int32.Parse(reader["CreatedById"].ToString()); PhonebookPhone.CreatedBy.Id = Int32.Parse(reader["CreatedById"].ToString()); PhonebookPhone.CreatedBy.FirstName = reader["CreatedByFirstName"]?.ToString(); PhonebookPhone.CreatedBy.LastName = reader["CreatedByLastName"]?.ToString(); } if (reader["CompanyId"] != DBNull.Value) { PhonebookPhone.Company = new Company(); PhonebookPhone.CompanyId = Int32.Parse(reader["CompanyId"].ToString()); PhonebookPhone.Company.Id = Int32.Parse(reader["CompanyId"].ToString()); PhonebookPhone.Company.Name = reader["CompanyName"].ToString(); } return(PhonebookPhone); }
public PhonebookResponse Create(PhonebookViewModel re) { PhonebookResponse response = new PhonebookResponse(); try { // Backup notes List <PhonebookNoteViewModel> PhonebookNotes = re.PhonebookNotes?.ToList(); re.PhonebookNotes = null; // Backup documents List <PhonebookDocumentViewModel> PhonebookDocuments = re.PhonebookDocuments?.ToList(); re.PhonebookDocuments = null; // Backup phone List <PhonebookPhoneViewModel> PhonebookPhones = re.PhonebookPhones?.ToList(); re.PhonebookPhones = null; Phonebook createdPhonebook = unitOfWork.GetPhonebookRepository().Create(re.ConvertToPhonebook()); // Update notes if (PhonebookNotes != null && PhonebookNotes.Count > 0) { // Items for create or update foreach (var PhonebookNote in PhonebookNotes .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <PhonebookNoteViewModel>()) { PhonebookNote.Phonebook = new PhonebookViewModel() { Id = createdPhonebook.Id }; PhonebookNote.ItemStatus = ItemStatus.Submited; PhonebookNote createdPhonebookNote = unitOfWork.GetPhonebookNoteRepository() .Create(PhonebookNote.ConvertToPhonebookNote()); } foreach (var item in PhonebookNotes .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <PhonebookNoteViewModel>()) { item.Phonebook = new PhonebookViewModel() { Id = createdPhonebook.Id }; unitOfWork.GetPhonebookNoteRepository().Create(item.ConvertToPhonebookNote()); unitOfWork.GetPhonebookNoteRepository().Delete(item.Identifier); } } // Update documents if (PhonebookDocuments != null && PhonebookDocuments.Count > 0) { // Items for create or update foreach (var PhonebookDocument in PhonebookDocuments .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <PhonebookDocumentViewModel>()) { PhonebookDocument.Phonebook = new PhonebookViewModel() { Id = createdPhonebook.Id }; PhonebookDocument.ItemStatus = ItemStatus.Submited; PhonebookDocument createdPhonebookDocument = unitOfWork.GetPhonebookDocumentRepository() .Create(PhonebookDocument.ConvertToPhonebookDocument()); } foreach (var item in PhonebookDocuments .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <PhonebookDocumentViewModel>()) { item.Phonebook = new PhonebookViewModel() { Id = createdPhonebook.Id }; unitOfWork.GetPhonebookDocumentRepository().Create(item.ConvertToPhonebookDocument()); unitOfWork.GetPhonebookDocumentRepository().Delete(item.Identifier); } } // Update Phones if (PhonebookPhones != null && PhonebookPhones.Count > 0) { // Items for create or update foreach (var PhonebookPhone in PhonebookPhones .Where(x => x.ItemStatus == ItemStatus.Added || x.ItemStatus == ItemStatus.Edited)?.ToList() ?? new List <PhonebookPhoneViewModel>()) { PhonebookPhone.Phonebook = new PhonebookViewModel() { Id = createdPhonebook.Id }; PhonebookPhone.ItemStatus = ItemStatus.Submited; PhonebookPhone createdPhonebookPhone = unitOfWork.GetPhonebookPhoneRepository() .Create(PhonebookPhone.ConvertToPhonebookPhone()); } foreach (var item in PhonebookPhones .Where(x => x.ItemStatus == ItemStatus.Deleted)?.ToList() ?? new List <PhonebookPhoneViewModel>()) { item.Phonebook = new PhonebookViewModel() { Id = createdPhonebook.Id }; unitOfWork.GetPhonebookPhoneRepository().Create(item.ConvertToPhonebookPhone()); unitOfWork.GetPhonebookPhoneRepository().Delete(item.Identifier); } } unitOfWork.Save(); response.Phonebook = createdPhonebook.ConvertToPhonebookViewModel(); response.Success = true; } catch (Exception ex) { response.Phonebook = new PhonebookViewModel(); response.Success = false; response.Message = ex.Message; } return(response); }