/// <summary> /// یافتن تگ های جدید و افزودن به بانک اطلاعاتی /// </summary> public static void NewTags() { using (var db = new schooldbEntities()) { try { var qry = db.TagRecorders.Where(x => x.enables && x.SMS == false).Select(x => x.TagID).ToList().RemoveDuplicates(); foreach (var item in qry) { var tag = db.Tags.FirstOrDefault(x => x.TagID_HEX == item); if (tag == null) { db.Tags.Add(new Tag() { TagID_HEX = item, CartView = HexToDecimal(item), }); db.SaveChanges(); Logger.WriteMessageLog($"Save New TAG : {item} ViewLabel {HexToDecimal(item)}"); } } } catch (Exception e) { Logger.WriteErrorLog(e, "NewTags"); } } }
/// <summary> /// حذف تگ های خام و بروزرسانی شناسه تگ ها /// </summary> public static void UpdateTagID() { using (var db = new schooldbEntities()) { var listRemove = new List <TagRecorder>(); try { var qry = db.TagRecorders.Where(x => x.enables && x.SMS == false && x.TagID_FK == null).ToList(); foreach (var item in qry) { var result = db.StudentTAGs.FirstOrDefault(x => x.Tag.TagID_HEX == item.TagID && x.Enabled); if (result == null) { listRemove.Add(item); } else { item.TagID_FK = result.TagID_FK; item.StudentID_FK = result.Student_FK; } } db.SaveChanges(); } catch (Exception e) { Logger.WriteErrorLog(e, "UpdateTagID"); } finally { try { db.TagRecorders.RemoveRange(listRemove); db.SaveChanges(); } catch (Exception e) { Logger.WriteErrorLog(e, "UpdateTagID Finally"); } } } }
/// <summary> /// پردازش و انتقال بین دو سرور و ثبت و امحای تردد های ثبت شده /// </summary> public static void TransformDataBase() { using (var dbx = new schooldbEntities()) { using (var trans = dbx.Database.BeginTransaction()) { try { var listForDisableinMySql = MySqlClass.ReaderSQL(); // لیست تگ های ثبت نشده foreach (var tagList in listForDisableinMySql) // ثبت در بانک اطلاعاتی اس کیوال { dbx.TagRecorders.Add(new TagRecorder() { TagID = tagList.Tag.Remove(tagList.Tag.Length - 1), DateTimeRegister = tagList.dateRegister, MysqlID = tagList.ID, SMS = false, type = Convert.ToBoolean(tagList.TypeImport), enables = true, }); } dbx.SaveChanges(); var resultMysql = MySqlClass.UpdateTagRecordList(listForDisableinMySql.Select(x => x.ID).ToList()); if (resultMysql) { trans.Commit(); } else { MySqlClass.rollbackTagRecordList(listForDisableinMySql.Select(x => x.ID).ToList()); Logger.WriteMessageLog("Error TransformDataBase"); trans.Rollback(); } } catch (Exception e) { Logger.WriteErrorLog(e, "TransformDataBase"); trans.Rollback(); } } } }
public static void SendInput(long mobile, string fullName, string inDate, int id) { try { var token = new Token().GetToken("17413e1864890dd130c73e17", "Fm&)**)!@(*"); var ultraFastSend = new UltraFastSend() { Mobile = mobile, TemplateId = 33365, ParameterArray = new List <UltraFastParameters>() { new UltraFastParameters() { Parameter = "FullName", ParameterValue = fullName, }, new UltraFastParameters() { Parameter = "InDate", ParameterValue = inDate } }.ToArray() }; UltraFastSendRespone ultraFastSendRespone = new UltraFast().Send(token, ultraFastSend); if (Convert.ToBoolean(ultraFastSendRespone.IsSuccessful)) { using (var dbx = new schooldbEntities()) { var find = dbx.TagRecorders.Find(id); find.SMS = true; var resultSave = dbx.SaveChanges(); Logger.WriteMessageSenderLog(Convert.ToBoolean(resultSave) ? $"Send Input {mobile}" : $"Not Send Input {mobile}"); } } } catch (Exception e) { Logger.WriteErrorLog(e, "SendInput"); } }
public static void SMSSenderBirthDay() { using (var db = new schooldbEntities()) { try { //تمام ثبت های امروز var qryDayRecorder = db.TagRecorders. Where(x => x.SMS == false && x.enables && x.StudentID_FK > 0 && x.TagID_FK > 0).ToList(); // تمام ثبت های امروز foreach (var item in qryDayRecorder) // جدول بندی تردد ها بر اساس هر تگ که در عین حال فقط و فقط متعلق به یک دانش آموز است { var student = db.Students.Find(item.StudentID_FK.Value); try { if (item.type) //ورودی ها { var dat = item.DateTimeRegister.AddSeconds(-120); var finder = db.TagRecorders.Any(x => x.TagID_FK == item.TagID_FK && x.DateTimeRegister > dat && x.SMS && x.type && x.enables); if (finder) { item.SMS = true; item.enables = false; db.SaveChanges(); } else { SendSMS.SendInput(Convert.ToInt64(student.SMS), student.FullName, item.DateTimeRegister.Convert_PersianCalender(), item.ID); //ارسال } } else { var dat = item.DateTimeRegister.AddSeconds(-120); var finder = db.TagRecorders.Any(x => x.TagID_FK == item.TagID_FK && x.DateTimeRegister > dat && x.SMS && x.type == false && x.enables); if (finder) { item.SMS = true; item.enables = false; db.SaveChanges(); } else { SendSMS.SendOutput(Convert.ToInt64(student.SMS), student.FullName, item.DateTimeRegister.Convert_PersianCalender(), item.ID); }; //ارسال } } catch (Exception e) { Logger.WriteErrorLog(e, "ForEach SMSSender"); } } } catch (Exception e) { Logger.WriteErrorLog(e, "SMSSender"); } } }