Exemplo n.º 1
0
 public DataDown DataDownSingleId(string loginKey, ref ErrorInfo err, int keyId)
 {
     if (!UserCheckFunctioAuthority(loginKey, ref err, MethodBase.GetCurrentMethod()))
     {
         return(null);
     }
     using (DBEntities db = new DBEntities())
     {
         var ent   = db.YL_DATA_DOWN.SingleOrDefault(x => x.ID == keyId);
         var reEnt = new ProInterface.Models.DataDown();
         if (ent != null)
         {
             reEnt = Fun.ClassToCopy <YL_DATA_DOWN, ProInterface.Models.DataDown>(ent);
             reEnt.FormServerStr = string.Join(",", ent.YL_DB_SERVER.Select(x => x.ID));
             reEnt.ToServerStr   = JSON.DecodeToStr(Fun.ClassListToCopy <YL_DATA_DOWN_TO, ProInterface.Models.DATA_DOWN_TO>(ent.YL_DATA_DOWN_TO.ToList()));
         }
         return(reEnt);
     }
 }
Exemplo n.º 2
0
        public bool DataDownSave(string loginKey, ref ErrorInfo err, ProInterface.Models.DataDown inEnt, IList <string> allPar)
        {
            if (!UserCheckFunctioAuthority(loginKey, ref err, MethodBase.GetCurrentMethod()))
            {
                return(false);
            }
            using (DBEntities db = new DBEntities())
            {
                try
                {
                    var  ent   = db.YL_DATA_DOWN.SingleOrDefault(a => a.ID == inEnt.ID);
                    bool isAdd = false;
                    if (ent == null)
                    {
                        isAdd = true;
                        ent   = Fun.ClassToCopy <ProInterface.Models.DataDown, YL_DATA_DOWN>(inEnt);
                    }
                    else
                    {
                        ent = Fun.ClassToCopy <ProInterface.Models.DataDown, YL_DATA_DOWN>(inEnt, ent, allPar);
                    }

                    var allFormDbServer = inEnt.FormServerStr.Split(',').Select(x => Convert.ToInt32(x)).ToList();
                    ent.YL_DB_SERVER.Clear();
                    ent.YL_DB_SERVER = db.YL_DB_SERVER.Where(x => allFormDbServer.Contains(x.ID)).ToList();

                    var allToDbServer = JSON.EncodeToEntity <IList <YL_DATA_DOWN_TO> >(inEnt.ToServerStr);

                    foreach (var t in ent.YL_DATA_DOWN_TO.ToList())
                    {
                        if (allToDbServer.SingleOrDefault(x => x.DB_SERVER_ID == t.DB_SERVER_ID) == null)
                        {
                            db.YL_DATA_DOWN_TO.Remove(t);
                        }
                    }

                    foreach (var t in allToDbServer)
                    {
                        var tmp = ent.YL_DATA_DOWN_TO.SingleOrDefault(x => x.DB_SERVER_ID == t.DB_SERVER_ID);
                        if (tmp == null)
                        {
                            ent.YL_DATA_DOWN_TO.Add(new YL_DATA_DOWN_TO {
                                DATA_DOWN_ID = t.DATA_DOWN_ID, DB_SERVER_ID = t.DB_SERVER_ID, REPLACE_STR = t.REPLACE_STR, TO_SERVER_NAME = t.TO_SERVER_NAME
                            });
                        }
                        else
                        {
                            tmp.TO_SERVER_NAME = t.TO_SERVER_NAME;
                            tmp.REPLACE_STR    = t.REPLACE_STR;
                        }
                    }


                    if (isAdd)
                    {
                        db.YL_DATA_DOWN.Add(ent);
                    }
                    db.SaveChanges();
                    UserWriteLog(loginKey, MethodBase.GetCurrentMethod(), StatusType.UserLogType.Edit);
                    return(true);
                }
                catch (Exception e)
                {
                    err.IsError = true;
                    err.Message = e.Message;
                    return(false);
                }
            }
        }