Ejemplo n.º 1
0
        public void applyfileborrow(List <Dictionary <string, object> > files)
        {
            var list             = files;
            var docConstEntities = FormulaHelper.GetEntities <DocConstEntities>();
            var user             = FormulaHelper.GetUserInfo();

            foreach (var file in list)
            {
                var space = DocConfigHelper.CreateConfigSpaceByID(file.GetValue("SpaceID"));
                //var FileInfo = docConstEntities.T_Borrow_FileInfo.FirstOrDefault(d => d.T_BorrowID == file.GetValue("BorrowID") && d.FileName == file.GetValue("Name"));
                S_FileInfo fileInfo = new S_FileInfo(file.GetValue("RelateID"), space);
                if (fileInfo.ConfigInfo == null)
                {
                    throw new Formula.Exceptions.BusinessException("未能找到文件【" + fileInfo.ID + "】的配置对象信息");
                }
                if (fileInfo.DataEntity.GetValue("BorrowState") == "Borrow")
                {
                    throw new Formula.Exceptions.BusinessException("已经借出,不能借阅!");
                }
                if (fileInfo.DataEntity.GetValue("Media") == "电子版")
                {
                    throw new Formula.Exceptions.BusinessException("载体是电子版,不能借阅!");
                }
                var carItem = this.entities.Set <S_CarInfo>().FirstOrDefault(d => d.FileID == fileInfo.ID &&
                                                                             d.State == "New" && d.UserID == this.CurrentUserInfo.UserID && d.Type == "Borrow");
                if (carItem == null)
                {
                    carItem              = new S_CarInfo();
                    carItem.ID           = FormulaHelper.CreateGuid();
                    carItem.NodeID       = fileInfo.NodeID;
                    carItem.Type         = ItemType.Borrow.ToString();
                    carItem.UserID       = user.UserID;
                    carItem.UserName     = user.UserName;
                    carItem.CreateDate   = DateTime.Now;
                    carItem.DataType     = fileInfo.ConfigInfo.Name;
                    carItem.FileID       = fileInfo.ID;
                    carItem.SpaceID      = file.GetValue("SpaceID");
                    carItem.ConfigID     = fileInfo.ConfigInfo.ID;
                    carItem.Name         = fileInfo.CreateCarName();// fileInfo.Name;
                    carItem.State        = ItemState.New.ToString();
                    carItem.CreateUser   = user.UserName;
                    carItem.CreateUserID = user.UserID;
                    this.entities.Set <S_CarInfo>().Add(carItem);
                }
                else if (list.Count == 1)
                {
                    throw new Formula.Exceptions.BusinessException("该文件已在借阅车中,请前往借阅车申请借阅");
                }
            }
            this.entities.SaveChanges();
        }
Ejemplo n.º 2
0
        public static void CreateCarItem(S_FileInfo fileInfo, string type)
        {
            var user     = FormulaHelper.GetUserInfo();
            var entities = FormulaHelper.GetEntities <DocConstEntities>();

            if (fileInfo.Space == null)
            {
                throw new Formula.Exceptions.BusinessException("没有获取到申请文件的配置空间信息,无法进行申请下载");
            }
            if (fileInfo.ConfigInfo == null)
            {
                throw new Formula.Exceptions.BusinessException("没有获取到申请文件的文件配置类别信息,无法进行申请下载");
            }
            var carItem = entities.Set <S_CarInfo>().FirstOrDefault(d => d.FileID == fileInfo.ID &&
                                                                    d.State == "New" && d.UserID == user.UserID && d.Type == type);

            if (carItem == null)
            {
                carItem = new S_CarInfo
                {
                    ID           = FormulaHelper.CreateGuid(),
                    UserID       = user.UserID,
                    UserName     = user.UserName,
                    Name         = fileInfo.CreateCarName(),
                    Code         = fileInfo.DataEntity.GetValue("Code"),
                    DataType     = fileInfo.ConfigInfo.Name,
                    Type         = type,
                    FileID       = fileInfo.ID,
                    NodeID       = fileInfo.NodeID,
                    State        = ItemState.New.ToString(),
                    CreateDate   = DateTime.Now,
                    CreateUser   = user.UserName,
                    CreateUserID = user.UserID,
                    ConfigID     = fileInfo.ConfigInfo.ID,
                    SpaceID      = fileInfo.Space.ID,
                };
                entities.Set <S_CarInfo>().Add(carItem);
            }
        }
Ejemplo n.º 3
0
        private void Lend(Dictionary <string, object> row)
        {
            var lendNumber = 0;

            int.TryParse(row.GetValue("LendNumber"), out lendNumber);
            var id           = row.GetValue("ID");
            var borrowDetail = this.entities.Set <S_BorrowDetail>().FirstOrDefault(a => a.ID == id);
            var isNew        = false;

            if (lendNumber > 0)
            {
                #region 部分借阅
                if (borrowDetail == null)
                {
                    if (string.IsNullOrEmpty(id))
                    {
                        id = FormulaHelper.CreateGuid();
                    }
                    borrowDetail = new S_BorrowDetail
                    {
                        ID           = id,
                        SpaceID      = row.GetValue("SpaceID"),
                        SpaceName    = row.GetValue("SpaceName"),
                        DataType     = row.GetValue("DataType"),
                        DetailType   = row.GetValue("DetailType"),
                        RelateID     = row.GetValue("RelateID"),
                        ConfigID     = row.GetValue("ConfigID"),
                        Name         = row.GetValue("Name"),
                        Code         = row.GetValue("Code"),
                        LendUserID   = row.GetValue("LendUserID"),
                        LendUserName = row.GetValue("LendUserName"),
                        LendDeptID   = row.GetValue("LendDeptID"),
                        LendDeptName = row.GetValue("LendDeptName"),
                        ParentID     = row.GetValue("ParentID")
                    };
                    var applyNumber = 0;
                    int.TryParse(row.GetValue("ApplyNumber"), out applyNumber);
                    borrowDetail.ApplyNumber = applyNumber;
                    this.entities.Set <S_BorrowDetail>().Add(borrowDetail);
                    isNew = true;

                    var parent = this.entities.Set <S_BorrowDetail>().FirstOrDefault(a => a.ID == borrowDetail.ParentID);
                    if (parent != null)
                    {
                        parent.HasChild = TrueOrFalse.True.ToString();
                    }
                }
                #endregion
                borrowDetail.LendUserID   = row.GetValue("LendUserID");
                borrowDetail.LendUserName = row.GetValue("LendUserName");
                borrowDetail.LendDeptID   = row.GetValue("LendDeptID");
                borrowDetail.LendDeptName = row.GetValue("LendDeptName");
                borrowDetail.LendNumber   = (borrowDetail.LendNumber ?? 0) + lendNumber;
                if (borrowDetail.LendDate == null)
                {
                    borrowDetail.LendDate         = Convert.ToDateTime(row.GetValue("LendDate"));
                    borrowDetail.BorrowExpireDate = Convert.ToDateTime(row.GetValue("BorrowExpireDate"));
                }
                borrowDetail.BorrowState = BorrowDetailState.ToReturn.ToString();

                if (borrowDetail.DetailType == NodeType.Node.ToString())
                {
                    var space    = DocConfigHelper.CreateConfigSpaceByID(borrowDetail.SpaceID);
                    var nodeInfo = new S_NodeInfo(borrowDetail.RelateID, space);
                    InventoryFO.CreateInventoryLedger(nodeInfo, InventoryType.Lend, 0, (0 - lendNumber),
                                                      borrowDetail.ID, borrowDetail.LendUserID, borrowDetail.LendUserName, EnumBaseHelper.GetEnumDescription(InventoryType.Lend.GetType(), InventoryType.Lend.ToString()) + "份数:" + lendNumber + "份");
                    nodeInfo.DataEntity.SetValue("BorrowState", BorrowReturnState.Borrow.ToString());
                    nodeInfo.Save(false);

                    if (isNew)
                    {
                        borrowDetail.Name = nodeInfo.CreateCarName();
                    }
                }
                else
                {
                    var space    = DocConfigHelper.CreateConfigSpaceByID(borrowDetail.SpaceID);
                    var fileInfo = new S_FileInfo(borrowDetail.RelateID, space);
                    InventoryFO.CreateInventoryLedger(fileInfo, InventoryType.Lend, 0, (0 - lendNumber),
                                                      borrowDetail.ID, borrowDetail.LendUserID, borrowDetail.LendUserName, EnumBaseHelper.GetEnumDescription(InventoryType.Lend.GetType(), InventoryType.Lend.ToString()) + "份数:" + lendNumber + "份");
                    fileInfo.DataEntity.SetValue("BorrowState", BorrowReturnState.Borrow.ToString());
                    fileInfo.Save(false);

                    if (isNew)
                    {
                        borrowDetail.Name = fileInfo.CreateCarName();
                    }
                }
            }
            else if (borrowDetail != null)
            {
                if (borrowDetail.LendDate == null)
                {
                    borrowDetail.LendDate = Convert.ToDateTime(row.GetValue("LendDate"));
                }
                if (borrowDetail.BorrowExpireDate == null)
                {
                    borrowDetail.BorrowExpireDate = Convert.ToDateTime(row.GetValue("BorrowExpireDate"));
                }
            }
        }