/// <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); }
/// <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); }
/// <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); }