示例#1
0
        protected DocState SetDocStateType(Guid stateId, IDataContext dataContext)
        {
            if (IsStored())
            {
                _docRepo.SetDocState(Doc, stateId);
            }

            if (Doc.State != null && Doc.State.Id == stateId)
            {
                return(Doc.State);
            }

            //var state = dataContext.ObjectDefs.OfType<Document_State_Type>().First(s => s.Id == stateId);
            //using (var docStateRepo = new DocStateRepository(DataContext))

            var state = _docStateRepo.LoadById(stateId);

            //using (var userRepo = new UserRepository(dataContext))

            var userInfo = _userRepo.GetUserInfo(UserId);

            if (state != null)
            {
                Doc.State = new DocState
                {
                    Id   = Guid.NewGuid(),
                    Type = new DocStateType
                    {
                        Id       = stateId,
                        Name     = state.Name ?? "",
                        ReadOnly = state.ReadOnly
                    },
                    WorkerId   = UserId,
                    Created    = DateTime.Now, //state.Created,
                    WorkerName =
                        userInfo != null
                            ? String.Format("{0} {1} {2}", userInfo.LastName, userInfo.FirstName,
                                            userInfo.MiddleName)
                            : ""
                }
            }
            ;
            return(Doc.State);
        }
 public IEnumerable <DocStateType> Get(Guid docDefId)
 {
     return(_docStorage.GetDocDefStateTypes(docDefId).Select(stateTypeId => _docStateRepo.LoadById(stateTypeId)));
 }