/// <summary>
 /// 添加门禁卡信息
 /// </summary>
 /// <param name="cameraDev"></param>
 /// <param name="bll"></param>
 private static void AddEntranceGuardCardInfo(EntranceGuardCardInfoBackup ec, Bll bll)
 {
     try
     {
         EntranceGuardCard EgCard = GetCardInfo(ec);
         bll.EntranceGuardCards.Add(EgCard);
     }
     catch (Exception e)
     {
         Console.WriteLine("Error in EntranceGuardCardBackupHelper.AddEntranceGuardCardInfo:" + e.ToString());
     }
 }
 public override bool TickFunction()
 {
     try
     {
         JsonSerializerSettings setting = new JsonSerializerSettings();
         setting.NullValueHandling = NullValueHandling.Ignore;
         Bll        db         = Bll.NewBllNoRelation();
         string     strsql     = string.Format(@"select Abutment_Id from entranceguardcards");
         List <int> cardIdList = db.EntranceGuardCards.GetListIntBySql(strsql);
         string     url        = "http://" + Ip + ":" + Port + "/api/cards";
         //string result = WebApiHelper.GetString("http://120.25.195.214:18000/api/cards");
         string result = WebApiHelper.GetString(url);
         Message <EntranceGuardCardsApiSH> message  = JsonConvert.DeserializeObject <Message <EntranceGuardCardsApiSH> >(result, setting);
         List <EntranceGuardCardsApiSH>    setList  = message.data;
         List <EntranceGuardCard>          addList  = new List <EntranceGuardCard>();
         List <EntranceGuardCard>          editList = new List <EntranceGuardCard>();
         foreach (EntranceGuardCardsApiSH cardApi in setList)
         {
             EntranceGuardCard card = new EntranceGuardCard();
             card.Abutment_Id = cardApi.cardId;
             card.Code        = cardApi.cardCode;
             int empid = cardApi.emp_id;
             if (empid != null)
             {
                 card.PersonnelAbutment_Id = cardApi.emp_id.ToString();
             }
             card.State = cardApi.state;
             if (cardIdList.Contains(cardApi.cardId))
             {
                 editList.Add(card);
             }
             else
             {
                 addList.Add(card);
             }
         }
         bool addResult  = db.EntranceGuardCards.AddRange(addList);
         bool editResult = db.EntranceGuardCards.EditRange(editList);
         Log.Info("EntranceguardCardsThread: addResult:" + addList.Count + "," + addResult + ",editResult:" + editList.Count + "," + editResult);
     }
     catch (Exception ex)
     {
         Log.Error("EntranceguardCardsThread:" + ex.ToString());
     }
     return(true);
 }
        /// <summary>
        /// 获取门禁卡信息
        /// </summary>
        /// <param name="dev"></param>
        /// <returns></returns>
        private static EntranceGuardCard GetCardInfo(EntranceGuardCardInfoBackup ec)
        {
            EntranceGuardCard EgCard = new EntranceGuardCard();

            if (ec.Abutment_Id != -1)
            {
                EgCard.Abutment_Id = ec.Abutment_Id;
            }
            else
            {
                EgCard.Abutment_Id = null;
            }

            EgCard.Code  = ec.Code;
            EgCard.State = ec.State;

            return(EgCard);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取门禁卡操作历史
        /// </summary>
        /// <param name="id"></param>
        /// <param name="begin_date"></param>
        /// <param name="end_date"></param>
        /// <returns></returns>
        public BaseTran <cards_actions> GetSingleCardActionHistory(int id, string begin_date, string end_date)
        {
            BaseTran <cards_actions> recv = new BaseTran <cards_actions>();

            try
            {
                string path = "api/cards/" + Convert.ToString(id) + "/actions";
                string url  = BaseUri + path;
                if (begin_date != null)
                {
                    url += "?begin_date=" + begin_date;
                }
                else
                {
                    url += "?begin_date";
                }

                if (end_date != null)
                {
                    url += "&end_date=" + end_date;
                }
                else
                {
                    url += "&end_date";
                }

                recv = GetEntityList <cards_actions>(url);

                if (recv.data == null)
                {
                    recv.data = new List <cards_actions>();
                }

                EntranceGuardCard egc = bll.EntranceGuardCards.DbSet.FirstOrDefault(p => p.Abutment_Id == id);

                if (egc != null)
                {
                    foreach (cards_actions item in recv.data)
                    {
                        DevEntranceGuardCardAction degca = bll.DevEntranceGuardCardActions.DbSet.FirstOrDefault(p => p.Abutment_Id == item.id);
                        DevInfo devinfo = bll.DevInfos.DbSet.FirstOrDefault(p => p.Abutment_Id == item.device_id);
                        if (devinfo == null)
                        {
                            continue;
                        }

                        int nFlag = 0;
                        if (degca == null)
                        {
                            degca             = new DevEntranceGuardCardAction();
                            degca.OperateTime = null;
                            nFlag             = 1;
                        }

                        degca.Abutment_Id         = item.id;
                        degca.DevInfoId           = devinfo.Id;
                        degca.EntranceGuardCardId = egc.Id;
                        degca.code             = item.code;
                        degca.description      = item.description;
                        degca.OperateTimeStamp = item.t;
                        degca.nInOutState      = 0;

                        if (item.t != null)
                        {
                            long t = (long)item.t;
                            degca.OperateTime = TimeConvert.TimeStampToDateTime(t);
                        }

                        if (nFlag == 1)
                        {
                            bll.DevEntranceGuardCardActions.Add(degca);
                        }
                        else
                        {
                            bll.DevEntranceGuardCardActions.Edit(degca);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string messgae = ex.Message;
            }

            return(recv);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 获取门禁卡列表
        /// </summary>
        /// <returns></returns>
        public BaseTran <cards> GetCardList()
        {
            BaseTran <cards> recv = new BaseTran <cards>();

            try
            {
                string path = "api/cards";
                string url  = BaseUri + path;
                recv = GetEntityList <cards>(url);
                foreach (cards item in recv.data)
                {
                    EntranceGuardCard egc = bll.EntranceGuardCards.DbSet.FirstOrDefault(p => p.Abutment_Id == item.id);
                    int nFlag             = 0;
                    if (egc == null)
                    {
                        egc   = new EntranceGuardCard();
                        nFlag = 1;
                    }

                    egc.Abutment_Id = item.id;
                    egc.Code        = item.code;
                    egc.State       = item.state;

                    if (nFlag == 1)
                    {
                        bll.EntranceGuardCards.Add(egc);
                    }
                    else
                    {
                        bll.EntranceGuardCards.Edit(egc);
                    }

                    if (item.emp_id == null)
                    {
                        continue;
                    }

                    Personnel personnel = bll.Personnels.DbSet.FirstOrDefault(p => p.Abutment_Id == item.emp_id);
                    if (personnel == null)
                    {
                        continue;
                    }

                    EntranceGuardCardToPersonnel egctp = bll.EntranceGuardCardToPersonnels.DbSet.FirstOrDefault(p => p.EntranceGuardCardId == egc.Id);
                    nFlag = 0;
                    if (egctp == null)
                    {
                        egctp = new EntranceGuardCardToPersonnel();
                        egctp.EntranceGuardCardId = egc.Id;
                        nFlag = 1;
                    }

                    egctp.PersonnelId = personnel.Id;

                    if (nFlag == 1)
                    {
                        bll.EntranceGuardCardToPersonnels.Add(egctp);
                    }
                    else
                    {
                        bll.EntranceGuardCardToPersonnels.Edit(egctp);
                    }
                }
            }
            catch (Exception ex)
            {
                string messgae = ex.Message;
            }

            return(recv);
        }