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(); }
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); } }
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")); } } }