public static TimeEntryType ToDtoObject(this Trex.Server.Core.Model.TimeEntryType timeEntryType) { var dtoTimeEntryType = new TimeEntryType(); if (timeEntryType.Customer != null) { dtoTimeEntryType.CustomerId = timeEntryType.Customer.Id; } dtoTimeEntryType.Id = timeEntryType.Id; dtoTimeEntryType.IsBillableByDefault = timeEntryType.IsBillableByDefault; dtoTimeEntryType.IsDefault = timeEntryType.IsDefault; dtoTimeEntryType.Name = timeEntryType.Name; return(dtoTimeEntryType); }
public TimeEntryType SaveTimeEntryType(TimeEntryType timeEntryType) { try { var timeEntryTypeRepository = ObjectFactory.GetInstance <ITimeEntryTypeRepository>(); var timeEntryTypeFactory = ObjectFactory.GetInstance <ITimeEntryTypeFactory>(); var customerRepository = ObjectFactory.GetInstance <ICustomerRepository>(); Customer customer = null; if (timeEntryType.CustomerId.HasValue) { customer = customerRepository.GetByID(timeEntryType.CustomerId.Value); } if (timeEntryType.Id == 0) { var newTimeEntryType = timeEntryTypeFactory.Create(timeEntryType.Name, timeEntryType.IsDefault, timeEntryType.IsBillableByDefault, customer); timeEntryTypeRepository.Update(newTimeEntryType); timeEntryType.Id = newTimeEntryType.Id; } else { var originalObject = timeEntryTypeRepository.GetById(timeEntryType.Id); originalObject.Customer = customer; originalObject.IsBillableByDefault = timeEntryType.IsBillableByDefault; originalObject.IsDefault = timeEntryType.IsDefault; originalObject.Name = timeEntryType.Name; timeEntryTypeRepository.Update(originalObject); } return(timeEntryType); } catch (Exception ex) { OnError(ex); throw; } }