/// <summary> /// CHECK IF EXIST AND EXIRATION TIME /// </summary> /// <param name="APICreateDate"></param> /// <param name="UNIQUE"></param> /// <returns></returns> public static bool MAC_UNIQUE_IS_EXIST(ref DateTime APICreateDate, string UNIQUE, ref enumProject Project) { if (APICreateDate > LastClear_UTC.AddHours(Local_Cache_Refresh_Hour_Interval)) { Update(); } try { if (!UNIQUE_DICTIONARY.ContainsKey(((int)Project).ToString() + "_" + UNIQUE)) { return(false); } return(UNIQUE_DICTIONARY[((int)Project).ToString() + "_" + UNIQUE] > APICreateDate); } catch (Exception ex) { #region MyRegion LOG UtilsDB.API_Log_Insert(enumAction.LocalCache, enumLogType._1_Exception, enumLogType._1_Exception, "MAC_OR_UNIQUE Exist ERROR", UNIQUE, UtilsException.GetMSG(ref ex), true, "", "", "", ref APICreateDate, ref APICreateDate, ref CacheGuid, true, UNIQUE, Project); #endregion } return(false); }
/// <summary> /// ADD IF NOT EXIST /// </summary> /// <param name="IP"></param> /// <returns></returns> public static IPHolder IP_Get(string IP, int ToAddIfNeeded, out string exception, ref DateTime apicreatedate_ISR, ref enumProject Project) { exception = string.Empty; IPHolder current = null; if (DateTime.UtcNow.Date > LastClear_UTC.Date) { Update(); } try { if (IPs.ContainsKey(IP)) { if (ToAddIfNeeded > 0) { lock (getLocker) { lock (locker1) { IPHolder cur = IPs[IP]; cur.Count++; IPs[IP] = cur; } } } return(IPs[IP]); } else { lock (getLocker) { current = new IPHolder(null, IP, ToAddIfNeeded, AppManager.IP_AllowedPerCycle, new DateTime(DateTime.UtcNow.Ticks).AddMinutes(AppManager.IP_MinuteCycle)); current = AddUpdate_IP(IP, current, out exception, ref Project); } } } catch (Exception ex) { exception = UtilsException.GetMSG(ref ex); #region MyRegion LOG UtilsDB.API_Log_Insert(enumAction.LocalCache, enumLogType._1_Exception, enumLogType._1_Exception, "IP_Get", IP, exception, true, "", "", "", ref apicreatedate_ISR, ref apicreatedate_ISR, ref CacheGuid, true, IP, Project); #endregion } return(current); }
public static API_Unique_Identity_AddUpdateResult API_Unique_Identity_AddUpdate(string Unique, ref DateTime CreateDate, ref DateTime CreateDateISR, ref Guid APITransaction, ref enumAction Action, ref enumProject Project) { API_Unique_Identity_AddUpdateResult result = null; try { using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) { result = db.API_Unique_Identity_AddUpdate(APITransaction, Unique, CreateDate, CreateDateISR, AppManager.Unique_AllowedPerCycle, AppManager.Unique_MinuteCycle, (int)Project).FirstOrDefault(); } return(result); } catch (Exception ex1) { try { using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) { result = db.API_Unique_Identity_AddUpdate(APITransaction, Unique, CreateDate, CreateDateISR, AppManager.Unique_AllowedPerCycle, AppManager.Unique_MinuteCycle, (int)Project).FirstOrDefault(); } return(result); } catch (Exception ex2) { #region MyRegion LOG UtilsDB.API_Log_Insert(Action, enumLogType._1_DBException, enumLogType._1_DBException, null, "API_Unique_Identity_AddUpdate", UtilsException.GetMSG(ref ex2), true, null, null, null, ref CreateDate, ref CreateDateISR, ref APITransaction, false, Unique, Project); #endregion } } return(result); }
/// <summary> /// 0 - MSG /// 1 - PHONE /// 2 - APITransaction /// return util response /// </summary> public static string MakeRequest_Google_Captch(string token, string ip, ref Guid APITransaction, ref DateTime APICreateDate, ref DateTime APICreateDate_ISR, out string Request, ref enumProject Project) { Request = "Init"; try { Request = string.Format(Data, token, ip);//,ip Uri address = new Uri(GoogleURL); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded; "; if (!string.IsNullOrWhiteSpace(Request)) { byte[] byteData = UTF8Encoding.UTF8.GetBytes(Request); request.ContentLength = byteData.Length; using (Stream postStream = request.GetRequestStream()) postStream.Write(byteData, 0, byteData.Length); } using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode != HttpStatusCode.OK) { return(response.StatusCode.ToString()); } StreamReader reader = new StreamReader(response.GetResponseStream()); return(reader.ReadToEnd().Replace("<", "<").Replace(">", ">")); } } catch (Exception ex) { #region MyRegion LOG UtilsDB.API_Log_Insert(enumAction.GoogleCaptcha, enumLogType._1_WebException, enumLogType._1_WebException, token, ip, UtilsException.GetMSG(ref ex), true, null, null, null, ref APICreateDate, ref APICreateDate_ISR, ref APITransaction, true, ip, Project); #endregion return("EXCEPTION"); } }
//public static List<API_Pet_GetResult> API_Pet_Get(Guid APITransaction, DateTime CreateDate, bool RenewToken) //{ // List<API_Pet_GetResult> result = null; // try // { // using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) // { // result = db.API_Pet_Get(RenewToken).ToList(); // } // return result; // } // catch (Exception ex1) // { // try // { // using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) // { // result = db.API_Pet_Get(RenewToken).ToList(); // } // return result; // } // catch (Exception ex2) // { // #region MyRegion LOG // UtilsDB.API_Log_Insert(enumAction.Lead, enumLogType._1_DBException, enumLogType._1_DBException, // null, // "API_Pet_Get -> RenewToken: "+ RenewToken.ToString(), // UtilsException.GetMSG(ref ex2), // true, // null, // null, // null, // ref CreateDate, // ref CreateDate, // ref APITransaction, false, null, enumProject.APIGeneral); // #endregion // } // } // return result; //} #endregion public static API_Lead_Update_CouponMSGResult API_Lead_Update_CouponMSG(ref Guid APITransaction, ref DateTime CreateDate, ref DateTime CreateDateISR, long leadid, string reponseMSGCoupon, bool success) { API_Lead_Update_CouponMSGResult result = null; try { using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) { result = db.API_Lead_Update_CouponMSG(leadid, reponseMSGCoupon, success).FirstOrDefault(); } return(result); } catch (Exception ex1) { try { using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) { result = db.API_Lead_Update_CouponMSG(leadid, reponseMSGCoupon, success).FirstOrDefault(); } return(result); } catch (Exception ex2) { #region MyRegion LOG UtilsDB.API_Log_Insert(enumAction.Lead, enumLogType._1_DBException, enumLogType._1_DBException, reponseMSGCoupon, "API_Lead_Update_CouponMSG", UtilsException.GetMSG(ref ex2), true, null, null, null, ref CreateDate, ref CreateDateISR, ref APITransaction, false, null, enumProject.Dog); #endregion } } return(result); }
public static API_Validate_Registered_UserResult API_Validate_Registered_User(Guid APITransaction, DateTime CreateDateISR, string email, enumProject Project) { API_Validate_Registered_UserResult result = null; try { using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) { result = db.API_Validate_Registered_User((int)Project, email).FirstOrDefault(); } return(result); } catch (Exception ex1) { try { using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) { result = db.API_Validate_Registered_User((int)Project, email).FirstOrDefault(); } return(result); } catch (Exception ex2) { #region MyRegion LOG UtilsDB.API_Log_Insert(enumAction.Lead, enumLogType._1_DBException, enumLogType._1_DBException, null, "API_Validate_Registered_User", UtilsException.GetMSG(ref ex2), true, null, null, null, ref CreateDateISR, ref CreateDateISR, ref APITransaction, false, email, Project); #endregion } } return(result); }
public static List <API_Project_GetResult> API_Project_Get(Guid APITransaction, DateTime CreateDate, bool RenewToken) { List <API_Project_GetResult> result = null; try { using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) { result = db.API_Project_Get(RenewToken).ToList(); } return(result); } catch (Exception ex1) { try { using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) { result = db.API_Project_Get(RenewToken).ToList(); } return(result); } catch (Exception ex2) { #region MyRegion LOG UtilsDB.API_Log_Insert(enumAction.Lead, enumLogType._1_DBException, enumLogType._1_DBException, null, "API_Project_Get -> RenewToken: " + RenewToken.ToString(), UtilsException.GetMSG(ref ex2), true, null, null, null, ref CreateDate, ref CreateDate, ref APITransaction, false, null, enumProject.APIGeneral); #endregion } } return(result); }
/// <summary> /// IF NOT EXIST ADD NEW, ELSE UPDTAE EXISTING AND RETURN EXISTING /// </summary> /// <param name="IP"></param> /// <param name="ip"></param> /// <param name="exception"></param> /// <returns></returns> public static IPHolder AddUpdate_IP(string IP, IPHolder ip, out string exception, ref enumProject Project) { exception = string.Empty; if (DateTime.UtcNow.Date > LastClear_UTC.Date) { Update(); } try { lock (locker1) { if (!IPs.ContainsKey(IP)) { IPs.Add(IP, ip); } else { IPHolder current = IPs[IP]; current.Update(ip.IP_ID.GetValueOrDefault(), ip.Max, ip.Count, ip.ExpDT); IPs[IP] = current; ip.Clone(current); } } } catch (Exception ex) { exception = UtilsException.GetMSG(ref ex); NowException = new DateTime(DateTime.UtcNow.Ticks); #region MyRegion LOG UtilsDB.API_Log_Insert(enumAction.LocalCache, enumLogType._1_Exception, enumLogType._1_Exception, "AddUpdate_IP", IP, exception, true, "", "", "", ref NowException, ref NowException, ref CacheGuid, true, IP, Project); #endregion } return(ip); }
/// <summary> /// ADD OR UPDATE THE MAC AND EXPIRED TIME /// </summary> /// <param name="UNIQUE"></param> /// <param name="expdate"></param> /// <returns></returns> public static bool ADDREJECT_UNIQUE(ref DateTime APICreateDate, string UNIQUE, DateTime expdate, ref enumProject Project) { if (DateTime.UtcNow > LastClear_UTC.AddHours(Local_Cache_Refresh_Hour_Interval)) { Update(); } try { if (!UNIQUE_DICTIONARY.ContainsKey(((int)Project).ToString() + "_" + UNIQUE)) { lock (locker1) { UNIQUE_DICTIONARY.Add(((int)Project).ToString() + "_" + UNIQUE, expdate); } return(true); } else { lock (locker1) { UNIQUE_DICTIONARY[((int)Project).ToString() + "_" + UNIQUE] = expdate; } return(true); } } catch (Exception ex) { #region MyRegion LOG UtilsDB.API_Log_Insert(enumAction.LocalCache, enumLogType._1_Exception, enumLogType._1_Exception, "ADDREJECT_MAC_UNIQUE ERROR", UNIQUE, UtilsException.GetMSG(ref ex), true, "", "", "", ref APICreateDate, ref APICreateDate, ref CacheGuid, true, UNIQUE, Project); #endregion } return(false); }
public static API_Lead_InsertResult API_Lead_Insert(ref SubmitLead req, int PetType, ref Guid APITransaction, string Captch, int AddToIP, ref DateTime CreateDate, ref DateTime CreateDateISR, ref enumPlatformType PlatformType, ref enumProject Project) { API_Lead_InsertResult result = null; try { using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) { result = db.API_Lead_Insert(APITransaction, req.Email, (int)PlatformType, req.IP, req.UA, CreateDate, CreateDateISR, null, Captch, AppManager.Unique_AllowedPerCycle, AppManager.Unique_MinuteCycle, (int)Project, req.FName, req.LName, req.Email, req.Phone, req.City, req.Street, req.STNumber, req.FlatNumber, req.POBox, req.Regulation, req.AcceptContent, null /* PetType*/, /*req.PetBDay*/ null, AppManager.IP_AllowedPerCycle, AppManager.IP_MinuteCycle, AddToIP).FirstOrDefault(); } return(result); } catch (Exception ex1) { try { using (DogAndCatDBDataContext db = new DogAndCatDBDataContext(Connection()) { CommandTimeout = 120 }) { result = db.API_Lead_Insert(APITransaction, req.Email, (int)PlatformType, req.IP, req.UA, CreateDate, CreateDateISR, null, Captch, AppManager.Unique_AllowedPerCycle, AppManager.Unique_MinuteCycle, (int)Project, req.FName, req.LName, req.Email, req.Phone, req.City, req.Street, req.STNumber, req.FlatNumber, req.POBox, req.Regulation, req.AcceptContent, null /* PetType*/, /*req.PetBDay*/ null, AppManager.IP_AllowedPerCycle, AppManager.IP_MinuteCycle, AddToIP).FirstOrDefault(); } return(result); } catch (Exception ex2) { #region MyRegion LOG UtilsDB.API_Log_Insert(enumAction.Lead, enumLogType._1_DBException, enumLogType._1_DBException, Newtonsoft.Json.JsonConvert.SerializeObject(req), "API_Lead_Insert_Offer", UtilsException.GetMSG(ref ex2), true, null, null, null, ref CreateDate, ref CreateDateISR, ref APITransaction, false, req.Email, Project); #endregion } } return(result); }
public static bool Update() { DateTime ISRTime = UtilsDateTime.UTC_To_Israel_Time(); DateTime UTCNow = new DateTime(DateTime.UtcNow.Ticks); if (Last_Config_Update_ISR.AddMinutes(ConfigUpdateAsMinutes) < ISRTime) { lock (locker1) { if (Last_Config_Update_ISR.AddMinutes(ConfigUpdateAsMinutes) < ISRTime) { lock (locker2) { if (Last_Config_Update_ISR.AddMinutes(ConfigUpdateAsMinutes) < ISRTime) { if (ConfigurationManager.AppSettings["AZURE"].Equals("true")) { RenewProjectToken = RoleEnvironment.GetConfigurationSettingValue("RenewProjectToken").ToString().Equals("true"); } else { RenewProjectToken = ConfigurationManager.AppSettings["RenewProjectToken"].ToString().Equals("true"); } List <API_UI_UserResponse_GetResult> UIResponse_DB = UtilsDB.API_UI_UserResponse_Get(AppManagerGuid, ISRTime); Projects = UtilsDB.API_Project_Get(AppManagerGuid, ISRTime, RenewProjectToken); List <UIOut> UIResponse_TEMP = new List <UIOut>(); foreach (API_UI_UserResponse_GetResult UI in UIResponse_DB) { UIResponse_TEMP.Add(new Models.UIOut() { ID = UI.ID, MSG = UI.Text, ProjectID = UI.ProjectID }); } UIResponse = UIResponse_TEMP; #region MyRegion CONFIGURATION if (ConfigurationManager.AppSettings["AZURE"].Equals("true")) { AllowedDomains = RoleEnvironment.GetConfigurationSettingValue("AllowedDomains").ToString().Split(',').ToList(); RestrictServerIP = RoleEnvironment.GetConfigurationSettingValue("RestrictServerIP").ToString().Equals("true"); // Dog_StartDate = DateTime.ParseExact(RoleEnvironment.GetConfigurationSettingValue("Dog_StartDate").ToString(), "yyyy-MM-dd", null); // Dog_EndDate = DateTime.ParseExact(RoleEnvironment.GetConfigurationSettingValue("Dog_EndDate").ToString(), "yyyy-MM-dd", null); Cat_StartDate = DateTime.ParseExact(RoleEnvironment.GetConfigurationSettingValue("Cat_StartDate").ToString(), "yyyy-MM-dd", null); Cat_EndDate = DateTime.ParseExact(RoleEnvironment.GetConfigurationSettingValue("Cat_EndDate").ToString(), "yyyy-MM-dd", null); ConfigUpdateAsMinutes = int.Parse(RoleEnvironment.GetConfigurationSettingValue("ConfigUpdateAsMinutes").ToString()); ClientFetchDataInterval_AsMinutes = int.Parse(RoleEnvironment.GetConfigurationSettingValue("ClientFetchDataInterval_AsMinutes").ToString()); // Dog_ServerToken = Guid.Parse(RoleEnvironment.GetConfigurationSettingValue("Dog_ServerToken").ToString()); Cat_ServerToken = Guid.Parse(RoleEnvironment.GetConfigurationSettingValue("Cat_ServerToken").ToString()); IP_MinuteCycle = int.Parse(RoleEnvironment.GetConfigurationSettingValue("IP_MinuteCycle").ToString()); IP_AllowedPerCycle = int.Parse(RoleEnvironment.GetConfigurationSettingValue("IP_AllowedPerCycle").ToString()); Unique_MinuteCycle = int.Parse(RoleEnvironment.GetConfigurationSettingValue("Unique_MinuteCycle").ToString()); Unique_AllowedPerCycle = int.Parse(RoleEnvironment.GetConfigurationSettingValue("Unique_AllowedPerCycle").ToString()); Local_Cache_Refresh_Hour_Interval = int.Parse(RoleEnvironment.GetConfigurationSettingValue("Local_Cache_Refresh_Hour_Interval").ToString()); } else { RenewProjectToken = ConfigurationManager.AppSettings["RenewProjectToken"].ToString().Equals("true"); RestrictServerIP = ConfigurationManager.AppSettings["RestrictServerIP"].ToString().Equals("true"); AllowedDomains = ConfigurationManager.AppSettings["AllowedDomains"].ToString().Split(',').ToList(); Local_Cache_Refresh_Hour_Interval = int.Parse(ConfigurationManager.AppSettings["Local_Cache_Refresh_Hour_Interval"].ToString()); // Dog_StartDate = DateTime.ParseExact(ConfigurationManager.AppSettings["Dog_StartDate"].ToString(), "yyyy-MM-dd", null); // Dog_EndDate = DateTime.ParseExact(ConfigurationManager.AppSettings["Dog_EndDate"].ToString(), "yyyy-MM-dd", null); Cat_StartDate = DateTime.ParseExact(ConfigurationManager.AppSettings["Cat_StartDate"].ToString(), "yyyy-MM-dd", null); Cat_EndDate = DateTime.ParseExact(ConfigurationManager.AppSettings["Cat_EndDate"].ToString(), "yyyy-MM-dd", null); ConfigUpdateAsMinutes = int.Parse(ConfigurationManager.AppSettings["ConfigUpdateAsMinutes"].ToString()); ClientFetchDataInterval_AsMinutes = int.Parse(ConfigurationManager.AppSettings["ClientFetchDataInterval_AsMinutes"].ToString()); // Dog_ServerToken = Guid.Parse(ConfigurationManager.AppSettings["Dog_ServerToken"].ToString()); Cat_ServerToken = Guid.Parse(ConfigurationManager.AppSettings["Cat_ServerToken"].ToString()); IP_MinuteCycle = int.Parse(ConfigurationManager.AppSettings["IP_MinuteCycle"].ToString()); IP_AllowedPerCycle = int.Parse(ConfigurationManager.AppSettings["IP_AllowedPerCycle"].ToString()); Unique_MinuteCycle = int.Parse(ConfigurationManager.AppSettings["Unique_MinuteCycle"].ToString()); Unique_AllowedPerCycle = int.Parse(ConfigurationManager.AppSettings["Unique_AllowedPerCycle"].ToString()); } #endregion Last_Config_Update_ISR = new DateTime(ISRTime.Ticks); } } } } } return(true); }