예제 #1
0
        public IFacadeUpdateResult <SellingPeriodData> SaveSellingPeriod(SellingPeriodDto dto)
        {
            UnitOfWork.BeginTransaction();
            IFacadeUpdateResult <SellingPeriodData> result = SellingPeriodSystem.SaveSellingPeriod(dto);

            if (result.IsSuccessful)
            {
                UnitOfWork.CommitTransaction();
            }
            else
            {
                UnitOfWork.RollbackTransaction();
            }

            return(result);
        }
        protected void ucIList_InstanceRowSaving(object sender, InstanceRowSavingEventArgs e)
        {
            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                SellingPeriodDto    project = e.Instance as SellingPeriodDto;
                SellingPeriodFacade facade  = new SellingPeriodFacade(uow);
                IFacadeUpdateResult <SellingPeriodData> result = facade.SaveSellingPeriod(project);
                e.IsSuccessful = result.IsSuccessful;

                if (result.IsSuccessful)
                {
                    // Refresh whole list
                    RetrieveInstances(facade);
                }
                else
                {
                    // Deal with Update result
                    ProcUpdateResult(result.ValidationResult, result.Exception);
                }
            }
        }
예제 #3
0
        internal IFacadeUpdateResult <SellingPeriodData> SaveSellingPeriod(SellingPeriodDto dto)
        {
            ArgumentValidator.IsNotNull("dto", dto);

            FacadeUpdateResult <SellingPeriodData> result = new FacadeUpdateResult <SellingPeriodData>();
            ISellingPeriodService service  = UnitOfWork.GetService <ISellingPeriodService>();
            SellingPeriod         instance = RetrieveOrNew <SellingPeriodData, SellingPeriod, ISellingPeriodService>(result.ValidationResult, dto.Id);

            if (result.IsSuccessful)
            {
                instance.Name      = dto.Name;
                instance.StartTime = dto.StartTime;
                instance.EndTime   = dto.EndTime;

                var saveQuery = service.Save(instance);

                result.AttachResult(instance.RetrieveData <SellingPeriodData>());
                result.Merge(saveQuery);
            }

            return(result);
        }