예제 #1
0
        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);
        }
예제 #2
0
        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;
            }
        }