示例#1
0
        public AppletItemDTO Save(AppletItemDTO appletResultDTO)
        {
            if (appletResultDTO == null)
            {
                throw new ArgumentNullException(nameof(appletResultDTO));
            }

            ValidationResult validationResult;

            if (this.IsValid(appletResultDTO, out validationResult))
            {
                var sessionModel = this.AppletItemModel;
                var isTransient  = appletResultDTO.appletItemId == 0;
                var appletItem   = isTransient ? null : sessionModel.GetOneById(appletResultDTO.appletItemId).Value;
                appletItem = this.ConvertDto(appletResultDTO, appletItem);
                sessionModel.RegisterSave(appletItem, true);
                //int companyId = appletItem.With(x => x.SubModuleItem).With(x => x.SubModuleCategory).With(x => x.User).With(x => x.Company.Id);
                //IoC.Resolve<RealTimeNotificationModel>().NotifyClientsAboutChangesInTable<AppletItem>(NotificationType.Update, companyId, appletItem.Id);
                return(new AppletItemDTO(appletItem));
            }

            var error = this.GenerateValidationError(validationResult);

            this.LogError("AppletItem.Save", error);
            throw new FaultException <Error>(error, error.errorMessage);
        }
示例#2
0
        private AppletItem ConvertDto(AppletItemDTO itemDTO, AppletItem instance)
        {
            instance               = instance ?? new AppletItem();
            instance.AppletName    = itemDTO.appletName;
            instance.DocumentXML   = itemDTO.documentXML;
            instance.SubModuleItem = itemDTO.subModuleItemId.HasValue ? this.SubModuleItemModel.GetOneById(itemDTO.subModuleItemId.Value).Value : null;
            if (instance.SubModuleItem != null)
            {
                instance.SubModuleItem.DateModified = DateTime.Now;
                this.SubModuleItemModel.RegisterSave(instance.SubModuleItem);
            }

            return(instance);
        }