예제 #1
0
        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);
            }
        }
예제 #2
0
파일: ServiceHelper.cs 프로젝트: JuRogn/OA
        public void Save(OrderEntity orderEntity)
        {
            FBEntity newEntity = orderEntity.GetModifiedFBEntity();

            Save(newEntity);
        }
예제 #3
0
        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();
            }
        }
예제 #4
0
        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();
            }
        }