예제 #1
0
        public virtual IInOutImageState ToInOutImageState()
        {
            var state = new InOutImageState(true);

            state.SequenceId = this.SequenceId;
            state.Url        = this.Url;
            if (this.Active != null && this.Active.HasValue)
            {
                state.Active = this.Active.Value;
            }
            if (this.Version != null && this.Version.HasValue)
            {
                state.Version = this.Version.Value;
            }
            state.InOutDocumentNumber = this.InOutDocumentNumber;
            state.CreatedBy           = this.CreatedBy;
            if (this.CreatedAt != null && this.CreatedAt.HasValue)
            {
                state.CreatedAt = this.CreatedAt.Value;
            }
            state.UpdatedBy = this.UpdatedBy;
            if (this.UpdatedAt != null && this.UpdatedAt.HasValue)
            {
                state.UpdatedAt = this.UpdatedAt.Value;
            }

            return(state);
        }
예제 #2
0
        public virtual IInOutImageState Get(string sequenceId, bool forCreation, bool nullAllowed)
        {
            InOutImageId globalId = new InOutImageId(_inOutState.DocumentNumber, sequenceId);

            if (_loadedInOutImageStates.ContainsKey(globalId))
            {
                var state = _loadedInOutImageStates[globalId];
                if (this._inOutState != null && this._inOutState.ReadOnly == false)
                {
                    ((IInOutImageState)state).ReadOnly = false;
                }
                return(state);
            }
            if (forCreation || ForReapplying)
            {
                var state = new InOutImageState(ForReapplying);
                state.InOutImageId = globalId;
                _loadedInOutImageStates.Add(globalId, state);
                if (this._inOutState != null && this._inOutState.ReadOnly == false)
                {
                    ((IInOutImageState)state).ReadOnly = false;
                }
                return(state);
            }
            else
            {
                var state = InOutImageStateDao.Get(globalId, nullAllowed);
                if (state != null)
                {
                    _loadedInOutImageStates.Add(globalId, state);
                }
                if (this._inOutState != null && this._inOutState.ReadOnly == false)
                {
                    ((IInOutImageState)state).ReadOnly = false;
                }
                return(state);
            }
        }
예제 #3
0
 public static CreateInOutImage ToCreateInOutImage(this InOutImageState state)
 {
     return(state.ToCreateInOutImage <CreateInOutImage>());
 }
예제 #4
0
 public static MergePatchInOutImage ToMergePatchInOutImage(this InOutImageState state)
 {
     return(state.ToMergePatchInOutImage <MergePatchInOutImage>());
 }
예제 #5
0
 public static RemoveInOutImage ToRemoveInOutImage(this InOutImageState state)
 {
     return(state.ToRemoveInOutImage <RemoveInOutImage>());
 }
예제 #6
0
 public static IInOutImageCommand ToCreateOrMergePatchInOutImage(this InOutImageState state)
 {
     return(state.ToCreateOrMergePatchInOutImage <CreateInOutImage, MergePatchInOutImage>());
 }