private bool Save() { List <OrderEntity> listSave = new List <OrderEntity>(); for (int i = 0; i < EntityList.Count; i++) { OrderEntity orderEntity = EntityList[i]; if (orderEntity.FBEntity.FBEntityState != FBEntityState.Unchanged) { orderEntity.SetObjValue("Entity.UPDATEDATE", DateTime.Now); orderEntity.SetObjValue("Entity.UPDATEUSERID", DataCore.CurrentUser.Value); listSave.Add(orderEntity); } } if (listSave.Count > 0) { ObservableCollection <FBEntity> listSaveNew = new ObservableCollection <FBEntity>(); listSave.ForEach(orderEntity => { listSaveNew.Add(orderEntity.GetModifiedFBEntity()); }); if (CheckData(listSaveNew)) { orderEntityService.SaveList(listSaveNew); return(true); } else { CommonFunction.ShowMessage("保存失败", "数据验证不通过,请将鼠标移到左侧科目,在对应科目的感叹号上查看具体错误原因", CommonFunction.MessageType.Attention); return(false); } } else { return(false); } }
public void Save(OrderEntity orderEntity) { FBEntity newEntity = orderEntity.GetModifiedFBEntity(); Save(newEntity); }
public void Save() { ObservableCollection <FBEntity> listOfFBEntity = new ObservableCollection <FBEntity>(); for (int i = 0; i < EntityList.Count; i++) { OrderEntity item = EntityList[i]; FBEntity fbEntitySave = item.GetModifiedFBEntity(); ObservableCollection <FBEntity> listSave = null; if (fbEntitySave.Entity.GetType() == typeof(VirtualDepartment)) { listSave = fbEntitySave.GetRelationFBEntities(typeof(T_FB_SUBJECTDEPTMENT).Name); //活动经费 // CheckMoneyAssign(listSave); } else { listSave = fbEntitySave.GetRelationFBEntities(typeof(T_FB_SUBJECTPOST).Name); // 删除 不是active的岗位项目记录 //listSave.RemoveAll(itemRemove => //{ // bool isAdded = itemRemove.FBEntityState == FBEntityState.Added; // // bool isNew = (itemRemove.Entity as T_FB_SUBJECTPOST).ACTIVED != 1; // //return isAdded && isNew; // return isAdded; //}); } listSave.ToList().ForEach(fbEntity => { bool tf = true;//外键为空的不处理 #region 公共参数赋值 if (fbEntity.IsNewEntity()) { fbEntity.FBEntityState = FBEntityState.Added; fbEntity.SetObjValue("Entity.CREATECOMPANYID", item.LoginUser.Company.Value); fbEntity.SetObjValue("Entity.CREATECOMPANYNAME", item.LoginUser.Company.Text); fbEntity.SetObjValue("Entity.CREATEDEPARTMENTID", item.LoginUser.Department.Value); fbEntity.SetObjValue("Entity.CREATEDEPARTMENTNAME", item.LoginUser.Department.Text); fbEntity.SetObjValue("Entity.CREATEPOSTID", item.LoginUser.Post.Value); fbEntity.SetObjValue("Entity.CREATEPOSTNAME", item.LoginUser.Post.Text); fbEntity.SetObjValue("Entity.CREATEUSERID", item.LoginUser.Value); fbEntity.SetObjValue("Entity.CREATEUSERNAME", item.LoginUser.Text); fbEntity.SetObjValue("Entity.EDITSTATES", decimal.Parse("1")); } fbEntity.SetObjValue("Entity.UPDATEUSERID", item.LoginUser.Value); fbEntity.SetObjValue("Entity.UPDATEUSERNAME", item.LoginUser.Text); #endregion T_FB_SUBJECTPOST sp = fbEntity.Entity as T_FB_SUBJECTPOST; // 去除实体之间的关联,如有关联存在,上传服务端时,会有异常 if (sp == null) { T_FB_SUBJECTDEPTMENT sd = fbEntity.Entity as T_FB_SUBJECTDEPTMENT; if (sd.T_FB_SUBJECTCOMPANY != null && sd.T_FB_SUBJECT != null) { sd.T_FB_SUBJECTCOMPANYReference.EntityKey = sd.T_FB_SUBJECTCOMPANY.EntityKey; sd.T_FB_SUBJECTCOMPANY = null; sd.T_FB_SUBJECTReference.EntityKey = sd.T_FB_SUBJECT.EntityKey; sd.T_FB_SUBJECT = null; sd.T_FB_SUBJECTPOST = null; fbEntity.CollectionEntity.Clear(); } else { tf = false; } } else { if (sp.T_FB_SUBJECTDEPTMENT != null && sp.T_FB_SUBJECT != null) { EntityKey parentKey = sp.T_FB_SUBJECTDEPTMENT.EntityKey; if (parentKey.EntityKeyValues == null) { EntityKeyMember em = new EntityKeyMember(); em.Key = "SUBJECTDEPTMENTID"; em.Value = sp.T_FB_SUBJECTDEPTMENT.SUBJECTDEPTMENTID; EntityKey newKey = new EntityKey(); newKey.EntityContainerName = parentKey.EntityContainerName; newKey.EntitySetName = parentKey.EntitySetName; newKey.EntityKeyValues = new ObservableCollection <EntityKeyMember>(); newKey.EntityKeyValues.Add(em); parentKey = newKey; } sp.T_FB_SUBJECTDEPTMENTReference = new EntityReferenceOfT_FB_SUBJECTDEPTMENTZ5CrhPbu(); sp.T_FB_SUBJECTDEPTMENTReference.EntityKey = parentKey; sp.T_FB_SUBJECTDEPTMENT = null; sp.T_FB_SUBJECTReference = new EntityReferenceOfT_FB_SUBJECTZ5CrhPbu(); sp.T_FB_SUBJECTReference.EntityKey = sp.T_FB_SUBJECT.EntityKey; sp.T_FB_SUBJECT = null; // 清除已删除实体,这些实体会在 T_FB_SUBJECTDEPTMENT 实体中处理 . fbEntity.GetRelationFBEntities(Args.DELETE_ENTITYTYPE).Clear(); } else { tf = false; } } if (tf) { listOfFBEntity.Add(fbEntity); } }); } if (listOfFBEntity.Count > 0) { this.CurrentOrderEntity = new OrderEntity(typeof(VirtualCompany)); this.orderEntityService.SaveList(listOfFBEntity); } else { CloseProcess(); } }
private void Save() { ObservableCollection <FBEntity> listOfFBEntity = new ObservableCollection <FBEntity>(); for (int i = 0; i < EntityList.Count; i++) { OrderEntity item = EntityList[i]; FBEntity fbEntitySave = item.GetModifiedFBEntity(); fbEntitySave.CollectionEntity[0].FBEntities.ToList().ForEach(fbEntity => { T_FB_SUBJECTCOMPANY sc = fbEntity.Entity as T_FB_SUBJECTCOMPANY; if (fbEntity.Entity.EntityKey.EntityKeyValues == null) { fbEntity.FBEntityState = FBEntityState.Added; fbEntity.Entity.EntityKey = null; fbEntity.SetObjValue("Entity.SUBJECTCOMPANYID", Guid.NewGuid().ToString()); fbEntity.SetObjValue("Entity.CREATECOMPANYID", item.LoginUser.Company.Value); fbEntity.SetObjValue("Entity.CREATECOMPANYNAME", item.LoginUser.Company.Text); fbEntity.SetObjValue("Entity.CREATEDEPARTMENTID", item.LoginUser.Department.Value); fbEntity.SetObjValue("Entity.CREATEDEPARTMENTNAME", item.LoginUser.Department.Text); fbEntity.SetObjValue("Entity.CREATEPOSTID", item.LoginUser.Post.Value); fbEntity.SetObjValue("Entity.CREATEPOSTNAME", item.LoginUser.Post.Text); fbEntity.SetObjValue("Entity.CREATEUSERID", item.LoginUser.Value); fbEntity.SetObjValue("Entity.CREATEUSERNAME", item.LoginUser.Text); fbEntity.SetObjValue("Entity.OWNERCOMPANYID", item.GetObjValue("Entity.OWNERCOMPANYID")); fbEntity.SetObjValue("Entity.OWNERCOMPANYNAME", item.GetObjValue("Entity.OWNERCOMPANYNAME")); fbEntity.SetObjValue("Entity.OWNERDEPARTMENTID", item.LoginUser.Department.Value); fbEntity.SetObjValue("Entity.OWNERDEPARTMENTNAME", item.LoginUser.Department.Text); fbEntity.SetObjValue("Entity.OWNERPOSTID", item.LoginUser.Post.Value); fbEntity.SetObjValue("Entity.OWNERPOSTNAME", item.LoginUser.Post.Text); fbEntity.SetObjValue("Entity.OWNERID", item.LoginUser.Value); fbEntity.SetObjValue("Entity.OWNERNAME", item.LoginUser.Text); fbEntity.SetObjValue("Entity.EDITSTATES", decimal.Parse("1")); } else { //if (sc.ACTIVED != 1) //{ // fbEntity.FBEntityState = FBEntityState.Detached; //} } fbEntity.SetObjValue("Entity.UPDATEUSERID", item.LoginUser.Value); fbEntity.SetObjValue("Entity.UPDATEUSERNAME", item.LoginUser.Text); sc.T_FB_SUBJECTReference.EntityKey = sc.T_FB_SUBJECT.EntityKey; sc.T_FB_SUBJECT = null; sc.T_FB_SUBJECTDEPTMENT = new ObservableCollection <T_FB_SUBJECTDEPTMENT>(); listOfFBEntity.Add(fbEntity); }); } if (listOfFBEntity.Count > 0) { this.CurrentOrderEntity = new OrderEntity(typeof(VirtualCompany)); this.orderEntityService.SaveList(listOfFBEntity); } else { CloseProcess(); } }