/// <summary>
        /// ValidRequestFromServerIP IS CHECKING IF ONLY SERVER OF CLIENT MADE THE REQUEST
        /// </summary>
        /// <param name="action"></param>
        /// <param name="UserRequest"></param>
        /// <param name="ip"></param>
        /// <param name="ua"></param>
        public void Init_Request_Data(enumAction action, object UserRequest,
                                      string ip, string ua, Guid ProjectToken)
        {
            AppManager.Update();

            Action            = action;
            SerializedRequest = Newtonsoft.Json.JsonConvert.SerializeObject(UserRequest);
            Platform          = enumPlatformType.Web;
            IP = ip;
            UA = string.IsNullOrEmpty(ua) ? "NULL" : ua;

            if (UA.ToLower().Contains("iphone"))
            {
                Platform = enumPlatformType.iPhone;
            }
            else if (UA.ToLower().Contains("android"))
            {
                Platform = enumPlatformType.Android;
            }
            else if (UA.ToLower().Contains("ipad"))
            {
                Platform = enumPlatformType.IPad;
            }


            HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];

            if (context.Request.ServerVariables["HTTP_VIA"] != null)
            {
                ServerIP = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
            }
            else
            {
                ServerIP = context.Request.ServerVariables["REMOTE_ADDR"].ToString();
            }

            if (AppManager.RestrictServerIP && !Domains.Get_AllowedDomains().Contains(ServerIP))
            {
                ValidRequestFromServerIP = false;
            }

            ProjectType = enumProject.Cat;

            //if (ProjectToken == AppManager.Dog_ServerToken)
            //{
            //    ProjectType = enumProject.Dog;
            //}
            //else if (ProjectToken == AppManager.Cat_ServerToken)
            //{
            //    ProjectType = enumProject.Cat;
            //}
            //else
            //{
            //    ValidRequestFromServerIP = false;
            //}
        }
예제 #2
0
        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);
        }