Esempio n. 1
0
        public ActionResult Callback(int AID, int status, string sign)
        {
            string Url = C.APP + "/Master/Search";
            string Key = ConfigurationManager.AppSettings.Get("auth_key");
            string sKey = string.Format("{0}-{1}-{2}", Key, AID, DateTime.Now.ToString("yyyyMMddHH"));
            string Localsign = U.GetMD5(sKey);

            if (status == 1 && Localsign == sign)
            {

                var admin = DAL.M.Get.Admin(AID);

                if (admin.AID > 0 && admin.Level >= 0)
                {
                    MemCache.Save("admin", "admin");
                    MemCache.Save("AID", admin.AID);
                    MemCache.Save("AdminLogin", admin.Login);
                    MemCache.Save("Tag", admin.Tag);
                    //资源访问
                    System.Web.HttpCookie hc = new System.Web.HttpCookie("Resx", admin.AID.ToString());
                    System.Web.HttpContext.Current.Response.SetCookie(hc);
                    Response.Redirect(Url);
                }
            }
            return Content("Nothing");
        }
Esempio n. 2
0
        public ActionResult MasterLogin(string uid, string pwd, string cbUrl)
        {
            string Key = ConfigurationManager.AppSettings.Get("auth_key");
            string Url = C.APP + "/Master/Search";
            string Query = "aid={0}&status={1}&sign={2}";
            if (!string.IsNullOrEmpty(cbUrl))
            {
                Url = cbUrl;
            }
            var r = DAL.Login.CheckAdmin(uid, pwd);
            if (r.Code == 0)
            {
                MemCache.Save("admin", "admin");
                MemCache.Save("AID", r.Value);
                MemCache.Save("AdminLogin", uid);
                MemCache.Save("Tag", r.Message);
                //资源访问
                System.Web.HttpCookie hc = new System.Web.HttpCookie("Resx", r.Value.ToString());
                System.Web.HttpContext.Current.Response.SetCookie(hc);

                string sKey = string.Format("{0}-{1}-{2}", Key, r.Value, DateTime.Now.ToString("yyyyMMddHH"));
                string sign = U.GetMD5(sKey);
                Url = Url + "?" + string.Format(Query, r.Value, 1, sign);
            }
            else
            {
                Url = C.APP + string.Format("/login/masterlogin?Code={0}&cbUrl={1}", r.Code, cbUrl);
            }

            Response.Redirect(Url);
            return Content("");
        }
 public void ChangeCurrent(string cartId)
 {
     var cookie = new System.Web.HttpCookie(CART_COOKIE_NAME);
     cookie.Expires = DateTime.Now.AddDays(30);
     cookie.Path = "/";
     cookie.Value = cartId;
     System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
 }
Esempio n. 4
0
 public void Logout()
 {
     MemCache.clear();
     System.Web.HttpCookie hc = new System.Web.HttpCookie("Resx", string.Empty);
     hc.Expires = DateTime.Now.AddDays(-20);
     System.Web.HttpContext.Current.Response.SetCookie(hc);
     Response.Redirect(C.APP+"/");
     //return Content(C.APP);
 }
 public void ChangeCurrent(string cartId, Models.CartType cartType, Models.UserPrincipal user)
 {
     var cookieName = (cartType == ERPStore.Models.CartType.Order) ? ORDER_CART_COOKIE_NAME : QUOTE_CART_COOKIE_NAME;
     var cookie = new System.Web.HttpCookie(cookieName);
     cookie.Expires = DateTime.Now.AddDays(30);
     cookie.Path = "/";
     cookie.Value = cartId;
     HttpContext.Response.Cookies.Add(cookie);
 }
Esempio n. 6
0
        public void MasterLogout()
        {
            MemCache.clear();
            System.Web.HttpCookie hc = new System.Web.HttpCookie("Resx", string.Empty);
            hc.Expires = DateTime.Now.AddDays(-20);
            System.Web.HttpContext.Current.Response.SetCookie(hc);
            string Url = C.APP + "/login/masterlogin";
            Response.Redirect(Url);

        }
Esempio n. 7
0
 public static void Logout()
 {
     //StringHelper.HttpContext.Response.Cookies.Remove(Constant.Session_CurrentUser);
     if (StringHelper.HttpContext.Request.Cookies[Constant.Session_CurrentUser] != null)
     {
         var c = new System.Web.HttpCookie(Constant.Session_CurrentUser);
         c.Expires = DateTime.Now.AddDays(-1);
         StringHelper.HttpContext.Response.Cookies.Add(c);
     }
     SessionUtilities.Remove(Constant.Session_CurrentUser);
 }
Esempio n. 8
0
        public ActionResult Login(LoginModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    BLLAccess _bllAccess = new BLLAccess();
                    GetEmployeeAccessModel _employeeAccess = new GetEmployeeAccessModel();
                    _bllAccess.idno = model.IDNO;
                    _employeeAccess = _bllAccess.GetEmployeeAccess();

                    if (_employeeAccess.IsLocked)
                    {
                        ModelState.AddModelError("", "Your account is locked. Please contact your System Administrator.");
                        return View();
                    }

                    if (!_bllAccess.VerifyUser(model.Password, _employeeAccess.PasswordHash, _employeeAccess.PasswordSalt))
                    {
                        ModelState.AddModelError("", "User and/or password is incorrect.");
                        return View();
                    }


                    string _userData = Newtonsoft.Json.JsonConvert.SerializeObject(_employeeAccess);
                    System.Web.Security.FormsAuthenticationTicket authTicket = new System.Web.Security.FormsAuthenticationTicket(
                        1,
                        _employeeAccess.IDNO,
                        System.DateTime.Now,
                        System.DateTime.Now.AddMinutes(15),
                        false,
                        _userData);

                    string encTicket = System.Web.Security.FormsAuthentication.Encrypt(authTicket);
                    System.Web.HttpCookie faCookie = new System.Web.HttpCookie(System.Web.Security.FormsAuthentication.FormsCookieName,
                        encTicket);

                    Response.Cookies.Add(faCookie);

                    _bllAccess.UpdateLoginCountAndDate(model.IDNO);

                    return RedirectToAction("Index", "DTR");
                }
                else
                {
                    return View();
                }
            }
            catch
            {
                ModelState.AddModelError("", "User and/or password is incorrect.");
                return View();
            }
        }
Esempio n. 9
0
        public void Logout()
        {
            MemCache.clear();
            System.Web.HttpCookie hc = new System.Web.HttpCookie("Resx", string.Empty);
            hc.Expires = DateTime.Now.AddDays(-20);
            System.Web.HttpContext.Current.Response.SetCookie(hc);

            string AuthUrl = ConfigurationManager.AppSettings.Get("auth_url");
            AuthUrl = AuthUrl.Replace("go?cbUrl=", "masterlogin?cbUrl=");
            string cbUrl = "http://" + Request.Url.Host + "/CP/login/callback";
            string sUrl = AuthUrl + cbUrl;
            Response.Redirect(sUrl);
        }
 public string GetCartId()
 {
     var cookie = System.Web.HttpContext.Current.Request.Cookies[CART_COOKIE_NAME];
     if (cookie == null)
     {
         cookie = new System.Web.HttpCookie(CART_COOKIE_NAME);
         cookie.Expires = DateTime.Now.AddDays(30);
         cookie.Path = "/";
         cookie.Value = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 20);
         System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
     }
     return cookie.Value;
 }
Esempio n. 11
0
 public static void SetUserLogIn(UserData data)
 {
     System.Web.HttpCookie cookie = new System.Web.HttpCookie("DivisionID");
     cookie.Value = data.DivisionID.ToString();
     System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
     cookie = new System.Web.HttpCookie("Name");
     cookie.Value = data.Name;
     System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
     cookie = new System.Web.HttpCookie("OfficerID");
     cookie.Value = data.OfficerID.ToString();
     System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
     cookie = new System.Web.HttpCookie("Warehouse");
     cookie.Value = data.Warehouse.ToString();
     System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
     cookie = new System.Web.HttpCookie("UserID");
     cookie.Value = data.UserID;
     System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
 }
Esempio n. 12
0
        /// <summary>
        /// Sets the auth cookie.
        /// </summary>
        /// <param name="userName">Name of the user.</param>
        /// <param name="isPersisted">if set to <c>true</c> [is persisted].</param>
        /// <param name="IsImpersonated">if set to <c>true</c> [is impersonated].</param>
        public static void SetAuthCookie( string userName, bool isPersisted, bool IsImpersonated )
        {
            var ticket = new System.Web.Security.FormsAuthenticationTicket( 1, userName, DateTime.Now,
                DateTime.Now.Add( System.Web.Security.FormsAuthentication.Timeout ), isPersisted,
                IsImpersonated.ToString(), System.Web.Security.FormsAuthentication.FormsCookiePath );

            var encryptedTicket = System.Web.Security.FormsAuthentication.Encrypt( ticket );

            var httpCookie = new System.Web.HttpCookie( System.Web.Security.FormsAuthentication.FormsCookieName, encryptedTicket );
            httpCookie.HttpOnly = true;
            httpCookie.Path = System.Web.Security.FormsAuthentication.FormsCookiePath;
            httpCookie.Secure = System.Web.Security.FormsAuthentication.RequireSSL;
            if ( System.Web.Security.FormsAuthentication.CookieDomain != null )
                httpCookie.Domain = System.Web.Security.FormsAuthentication.CookieDomain;
            if ( ticket.IsPersistent )
                httpCookie.Expires = ticket.Expiration;

            System.Web.HttpContext.Current.Response.Cookies.Add( httpCookie );
        }
Esempio n. 13
0
 public ActionResult MasterLogin(string uid, string pwd)
 {
     string Url = C.APP + "/Master/Search";
     var r = DAL.Login.CheckAdmin(uid, pwd);
     if (r.Code == 0)
     {
         MemCache.Save("admin", "admin");
         MemCache.Save("AID", r.Value);
         MemCache.Save("AdminLogin", uid);
         MemCache.Save("Tag", r.Message);
         //资源访问
         System.Web.HttpCookie hc = new System.Web.HttpCookie("Resx", r.Value.ToString());
         System.Web.HttpContext.Current.Response.SetCookie(hc);
     }
     else
     {
         Url = C.APP + "/login/masterlogin?Code=" + r.Code.ToString();
     }
     Response.Redirect(Url);
     return Content("");
 }
Esempio n. 14
0
		public IEnumerable<ICoroutineResult> InitializeSession(IHttpContext context)
		{
			if (_cacheEngine == null) yield break;
			if (context.Session != null) yield break;

			var newSession = new SimpleHttpSessionState();
			var cookie = context.Request.Cookies[SessionConstants.SessionId];
			if (cookie == null)
			{
				var nodecsSid = Guid.NewGuid().ToString();
				cookie = new System.Web.HttpCookie(SessionConstants.SessionId, nodecsSid);
				context.Response.SetCookie(cookie);
			}
			newSession.SetSessionID(cookie.Value);
			var realSession = newSession;
			yield return _cacheEngine.AddAndGet(new CacheDefinition
			{
				Value = newSession,
			}, (a) => realSession = (SimpleHttpSessionState)a, "basicSessionManager");
			context.SetSession(realSession);
		}
Esempio n. 15
0
        public ActionResult Authenticate(string key)
        {
            if (!key.Equals(ERPStoreApplication.WebSiteSettings.ApiToken))
            {
                ViewData.ModelState.AddModelError("key", "This key is invalid");
            }

            if (ModelState.IsValid)
            {
                Response.Cookies.Remove("AdminErpStore");

                var encryptedKey = CryptoService.EncryptAdminKey(key, DateTime.Now.AddMonths(1));
                var cookie = new System.Web.HttpCookie("AdminErpStore");
                cookie.HttpOnly = true;
                cookie.Path = FormsAuthentication.FormsCookiePath;
                cookie.Secure = FormsAuthentication.RequireSSL;
                var cookieDomain = ERPStore.Configuration.ConfigurationSettings.AppSettings["cookieDomain"]
                                    ?? FormsAuthentication.CookieDomain;
                if (!cookieDomain.IsNullOrTrimmedEmpty()
                    && !HttpContext.Request.IsLocal)
                {
                    cookie.Domain = cookieDomain;
                }
                cookie.Expires = DateTime.Now.AddMonths(1);
                cookie.Value = encryptedKey;
                Response.Cookies.Add(cookie);

                var returnUrl = Request["returnUrl"];
                if (!returnUrl.IsNullOrTrimmedEmpty())
                {
                    return Redirect(returnUrl);
                }

                return RedirectToAction("index");
            }

            return View();
        }
Esempio n. 16
0
        //判断用户登录状态
        public myLoginState CheckUser(string strUser, string strPass)
        {
            string strSql = "select  UID,Name,Pass,Email,Phone,Tel,Address,IP,VIP.VName,VImg from [User],VIP  where Name='" + strUser + "' and Pass='******' and VIP.VID=[User].VID";
            //string strSql = "select  Name,Pass  from [User]  where Name='" + strUser + "' and Pass='******'";
            if (sqlHelper.GetdataSet(strSql).Tables[0].Rows.Count > 0) 
            {
                //int intUID, string strName, string strPass, string strEmail, string strPhone, string strTel, string strAddress, string strIP
         
         
                DataRowView drv = sqlHelper.GetTableValue(strSql);
                userInfo = new Entity.UserInfo(int.Parse(drv["UID"].ToString()), drv["Name"].ToString(), drv["Pass"].ToString(), drv["Email"].ToString(), drv["Phone"].ToString(), drv["Tel"].ToString(), drv["Address"].ToString(), drv["IP"].ToString());

                System.Web.HttpCookie cookie1 = new System.Web.HttpCookie("UserInfo");
                cookie1.Values.Add("UID",drv["UID"].ToString());
                cookie1.Values.Add("name", drv["Name"].ToString());
                cookie1.Values.Add("pass", drv["Pass"].ToString());
                cookie1.Values.Add("vipImg", drv["VImg"].ToString()); 
                cookie1.Expires.AddHours(12);
                System.Web.HttpContext.Current.Response.AppendCookie(cookie1);

                return myLoginState.LOGINSUSCCESS;
            }
            else
            {
                return myLoginState.LOGINFAILED;
            }
                /*或者*/
            //SqlDataReader dr = sqlHelper.GetDataReader(strSql);
            //if (dr.HasRows)
            //{
            //    userInfo = new Entity.UserInfo( dr[1].ToString(), dr[2].ToString(), dr[3].ToString(), dr[4].ToString(), dr[5].ToString(), dr[6].ToString(),dr[7].ToString());
            //    return myLoginState.LOGINSUSCCESS;
            //}
            //else
            //    return myLoginState.LOGINFAILED;
        }
Esempio n. 17
0
        /// <summary>
        /// Performs a Formatting phase.
        /// </summary>
        /// <param name="raw">The raw content to Format.</param>
        /// <param name="context">The Context information.</param>
        /// <param name="phase">The Phase.</param>
        /// <returns>The Formatted content.</returns>
        public string Format(string raw, ContextInformation context, FormattingPhase phase)
        {
            // {rating}
            // _backendpage not found -> ignored

            StringBuilder buffer = new StringBuilder(raw);
            try {
                if(context.Context == FormattingContext.PageContent && context.Page != null) {
                    if(context.HttpContext.Request["vote"] != null) {
                        AddRating(context.Page.FullName, int.Parse(context.HttpContext.Request["vote"]));
                        System.Web.HttpCookie cookie = new System.Web.HttpCookie("RatingManagerPlugin_" + context.Page.FullName, context.HttpContext.Request["vote"]);
                        cookie.Expires = DateTime.Now.AddYears(10);
                        context.HttpContext.Response.Cookies.Add(cookie);
                        return "";
                    }
                }
                if(context.Page != null) {
                    ComputeRating(context, buffer, context.Page.FullName);
                }
                else {
                    return raw;
                }
            }
            catch(Exception ex) {
                LogWarning(string.Format("Exception occurred: {0}", ex.StackTrace));
            }
            if(foundRatings) {
                buffer.Append(@"<script type=""text/javascript"" src=""GetFile.aspx?file=" + defaultDirectoryName + jsFileName + @"""></script>");
                buffer.Append(@"<link rel=""StyleSheet"" href=""GetFile.aspx?file=" + defaultDirectoryName + cssFileName + @""" type=""text/css"" />");
                buffer.Append(@"<script type=""text/javascript""> <!--
            function GenerateStaticStars(rate, cssClass) {
            var string = '';
            var i = 0;
            for (i=0; i<rate; i++) {
            string +='<span class=""static-rating ' + cssClass + '""></span>';
            }
            for(i=rate; i<5; i++) {
            string +='<span class=""static-rating ui-rating-empty""></span>';
            }
            return string;
            }
            //--> </script>");
                foundRatings = false;
            }
            return buffer.ToString();
        }
Esempio n. 18
0
        public int managerId;          //当前pc端点餐管理员id

        protected override void AttachChildControls()
        {
            if (!Hidistro.ControlPanel.Config.CustomConfigHelper.Instance.AnonymousOrder)
            {
                GotoResourceNotFound("pc点餐功能暂未开启!");
            }
            if (!string.IsNullOrEmpty(this.Page.Request.QueryString["Id"]))
            {
                System.Web.HttpCookie cookie = new System.Web.HttpCookie("Vshop-Manager")
                {
                    Value   = this.Page.Request.QueryString["Id"].ToString(),
                    Expires = System.DateTime.Now.AddDays(1.0)
                };
                System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
            }


            int.TryParse(this.Page.Request.QueryString["categoryId"], out this.categoryId);
            this.keyWord       = this.Page.Request.QueryString["keyWord"];
            this.imgUrl        = (HiImage)this.FindControl("imgUrl");
            this.litContent    = (Literal)this.FindControl("litContent");
            this.rptProducts   = (VshopTemplatedRepeater)this.FindControl("rptProducts");
            this.rptCategories = (VshopTemplatedRepeater)this.FindControl("rptCategories");
            this.litCategoryId = (System.Web.UI.HtmlControls.HtmlInputHidden) this.FindControl("litCategoryId");
            this.txtTotal      = (System.Web.UI.HtmlControls.HtmlInputHidden) this.FindControl("txtTotal");
            this.litBuyToGive  = (Literal)this.FindControl("litBuyToGive");
            this.litHalf       = (Literal)this.FindControl("litHalf");//第二杯半价
            this.litOrderList  = (Literal)this.FindControl("litOrderList");
            this.litCategoryId.SetWhenIsNotNull(this.categoryId.ToString());
            this.Page.Session["stylestatus"] = "4";
            this.litStoreName = (Literal)this.FindControl("litStoreName");

            //获取当前点餐门店信息
            ManagerInfo currentManager = ManagerHelper.GetCurrentManager();

            storeId           = currentManager.ClientUserId;
            litStoreName.Text = ManagerHelper.GetStoreName(storeId);

            switch (Hidistro.Core.SettingsManager.GetMasterSettings(true).VTheme.ToLower())
            {
            case "common":
            case "hotel":
                DataTable dtProducts = new DataTable();                               //商品dt
                DataTable dt         = CategoryBrowser.GetCategoriesByRange(rangeId); //CategoryBrowser.GetCategoriesRange(ProductInfo.ProductRanage.All);
                int       total      = 0;
                int       num;
                int       num2;
                if (!int.TryParse(this.Page.Request.QueryString["page"], out num))
                {
                    num = 1;
                }
                if (!int.TryParse(this.Page.Request.QueryString["size"], out num2))
                {
                    num2 = 16;
                }
                if (categoryId == 0)
                {
                    if (dt.Rows.Count > 0)
                    {
                        //获取第一个分类id
                        int FirstCategoryID = Convert.ToInt32(dt.Rows[0]["categoryId"]);
                        this.litCategoryId.SetWhenIsNotNull(FirstCategoryID.ToString());
                        //匿名点餐情况下,商品为总店的所有商品,用户则是匿名用户(无需登录)

                        dtProducts = ProductBrowser.GetProducts(MemberProcessor.GetAnonymousMember(this.Page.Request.QueryString["type"].ToString()), null, 0, FirstCategoryID, this.keyWord, num, num2, out total, "ShowSaleCounts", "desc", "", rangeId, storeId);
                    }
                }
                else
                {
                    dtProducts = ProductBrowser.GetProducts(MemberProcessor.GetAnonymousMember(this.Page.Request.QueryString["type"].ToString()), null, 0, categoryId, this.keyWord, num, num2, out total, "ShowSaleCounts", "desc", "", rangeId, storeId);
                }
                //绑定购物车的信息
                this.cart = ShoppingCartProcessor.GetShoppingCartAviti(Globals.GetCurrentManagerUserId());

                //根据商品id判断是否包含其余规格,如果有,则新增一个字段存入规格号
                dtProducts.Columns.Add("skuCounts");
                foreach (DataRow row in dtProducts.Rows)
                {
                    DataTable skus = ProductBrowser.GetSkus(Convert.ToInt32(row["ProductId"]));
                    row["skuCounts"] = skus.Rows.Count;
                }

                this.rptProducts.DataSource = dtProducts;
                this.rptProducts.DataBind();

                if (!dt.Columns.Contains("PType"))
                {
                    dt.Columns.Add("PType", typeof(string));
                }
                foreach (DataRow dr in dt.Rows)
                {
                    dr["PType"] = this.Page.Request.QueryString["type"];
                }
                this.rptCategories.DataSource = dt;
                this.rptCategories.DataBind();



                if (cart != null)
                {
                    this.litOrderList.Text = "";
                    //根据购物车的信息绑定左侧点单列表的信息
                    foreach (ShoppingCartInfo cartInfo in cart)
                    {
                        foreach (ShoppingCartItemInfo info in cartInfo.LineItems)
                        {
                            this.litOrderList.Text += string.Format(@"<li><span>{4}</span><div class='guige'><d type='skuName'>{8}</d><b style='display:none'>{3}</b>{7}</div>
                                                <span>
                                                    <a id='spSub_{0}' class='shopcart-minus'>-</a>
                                                    <input type='tel' id='buyNum_{0}' class='form-control' value='{2}' disabled='disabled' />
                                                    <input type='hidden' id='skuid_{1}' value='{1}'/>
                                                    <a id='spAdd_{0}' class='shopcart-add'>+</a>
                                                    <input type='hidden' id='giveNum' value='{5}'/>
                                                    <input type='hidden' id='halfNum' value='{6}'/>
                                                </span></li>
                                                ", info.ProductId, info.SkuId, info.Quantity, info.AdjustedPrice.ToString("F2"), info.Name, info.GiveQuantity, info.HalfPriceQuantity, info.GiveQuantity <= 0 ? (info.HalfPriceQuantity <= 0 ? "" : "(半价" + info.HalfPriceQuantity + ")") : "(送" + info.GiveQuantity + ")", skuContentFormat(info.SkuContent));
                        }
                    }
                }
                this.txtTotal.SetWhenIsNotNull(total.ToString());
                break;

            default:
                this.rptCategories.ItemDataBound += new RepeaterItemEventHandler(this.rptCategories_ItemDataBound);
                if (this.Page.Request.QueryString["TypeId"] != null)
                {
                    this.rptCategories.DataSource = CategoryBrowser.GetCategoriesByPruductType(100, Convert.ToInt32(this.Page.Request.QueryString["TypeId"]));
                    this.rptCategories.DataBind();
                }
                else
                {
                    IList <CategoryInfo> maxSubCategories = CategoryBrowser.GetMaxSubCategoriesRange(this.categoryId, 0x3e8, DistributorsBrower.GetCurrStoreProductRange());
                    this.rptCategories.DataSource = maxSubCategories;
                    this.rptCategories.DataBind();
                }

                PageTitle.AddSiteNameTitle("电脑点餐");
                break;
            }
            SiteSettings masterSettings = SettingsManager.GetMasterSettings(false);

            if (masterSettings.BuyOrGive)
            {
                this.litBuyToGive.Text = "<a id=\"btnGiveBuy\" class=\"account-all\" onclick=\"BuyGive()\">买一送一</a>";
            }
            if (masterSettings.BuyOrHalf)
            {
                this.litHalf.Text = "<a id=\"btnHalf\" class=\"account-all\" onclick=\"BuyHalf()\">第二杯半价</a>";
            }
        }
Esempio n. 19
0
 public void Logout()
 {
     Session.Abandon();
     Session.RemoveAll();
     //清除cookie
     System.Web.HttpCookie ck = new System.Web.HttpCookie(Ichari.Common.WebUtils.GetAppSettingValue(StaticKey.AkSiteCookieName));
     ck.Domain = string.Format(".{0}",Ichari.Common.WebUtils.GetAppSettingValue(StaticKey.AkSiteDomainName));
     if (Request.IsLocal)
         ck.Domain = null;
     ck.Path = "/";
     ck.Expires = DateTime.Now.AddMonths(-1);
     Response.Cookies.Add(ck);
     Response.Redirect("/home");
 }
Esempio n. 20
0
        // GET: api/DirServiceJobNomens
        public async Task <IHttpActionResult> GetDirServiceJobNomens(HttpRequestMessage request)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)
                int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceJobNomens"));

                if (iRight == 3)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
                }

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion


                #region Параметры

                Params _params = new Params();

                //paramList -список параметров
                var paramList = request.GetQueryNameValuePairs();
                //Параметры
                _params.limit     = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "limit", true) == 0).Value);    //Записей на страницу
                _params.page      = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "page", true) == 0).Value);     //Номер страницы
                _params.Skip      = _params.limit * (_params.page - 1);
                _params.GroupID   = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "pGroupID", true) == 0).Value); //Кликнули по группе
                _params.parSearch = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "parSearch", true) == 0).Value; if (_params.parSearch != null)
                {
                    _params.parSearch = _params.parSearch.ToLower();                                                                                 //Поиск
                }
                _params.DirWarehouseID = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "DirWarehouseID", true) == 0).Value); //Склад для Остатков

                _params.type             = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "type", true) == 0).Value;
                _params.node             = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "node", true) == 0).Value;
                _params.XGroupID_NotShow = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "XGroupID_NotShow", true) == 0).Value);

                _params.DirServiceJobNomenType = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "DirServiceJobNomenType", true) == 0).Value); //Кликнули по группе

                #endregion


                if (_params.type == "Grid")
                {
                    #region Основной запрос *** *** ***

                    var query =
                        (
                            from x in db.DirServiceJobNomens
                            select new
                    {
                        DirServiceJobNomenID = x.DirServiceJobNomenID,
                        Del = x.Del,
                        DirServiceJobNomenName = x.DirServiceJobNomenName,
                        DirNomenTypeName = x.dirNomenType.DirNomenTypeName
                    }
                        );

                    #endregion


                    #region Условия (параметры) *** *** ***


                    #region Не показывать удалённые

                    if (!Convert.ToBoolean(sysSetting.DeletedRecordsShow))
                    {
                        query = query.Where(x => x.Del == sysSetting.DeletedRecordsShow);
                    }

                    #endregion


                    #region Поиск

                    if (!String.IsNullOrEmpty(_params.parSearch))
                    {
                        //Проверяем число ли это
                        Int32 iNumber32;
                        bool  bResult32 = Int32.TryParse(_params.parSearch, out iNumber32);


                        //Если число, то задействуем в поиске и числовые поля (_params.parSearch == iNumber)
                        if (bResult32)
                        {
                            query = query.Where(x => x.DirServiceJobNomenID == iNumber32 || x.DirServiceJobNomenName.Contains(_params.parSearch));
                        }
                        else
                        {
                            query = query.Where(x => x.DirServiceJobNomenName.Contains(_params.parSearch));
                        }
                    }

                    #endregion


                    #region OrderBy и Лимит

                    query = query.OrderBy(x => x.DirServiceJobNomenName).Skip(_params.Skip).Take(_params.limit);

                    #endregion


                    #endregion


                    #region Отправка JSON

                    //К-во Номенклатуры
                    int dirCount = await Task.Run(() => db.DirServiceJobNomens.Count());

                    //А вдруг к-во меньше Лимита, тогда показать не общее к-во, а реальное!
                    int dirCount2 = query.Count();
                    if (dirCount2 < _params.limit)
                    {
                        dirCount = _params.limit * (_params.page - 1) + dirCount2;
                    }

                    dynamic collectionWrapper = new
                    {
                        sucess             = true,
                        total              = dirCount,
                        DirServiceJobNomen = query
                    };
                    return(await Task.Run(() => Ok(collectionWrapper)));

                    #endregion
                }
                else //Tree
                {
                    if (_params.node == "DirServiceJobNomen")
                    {
                        #region Отобразить только "Руты" *** *** ***

                        var query =
                            (
                                from x in db.DirServiceJobNomens

                                where x.Sub == null && x.DirServiceJobNomenID != _params.XGroupID_NotShow && x.DirServiceJobNomenType == _params.DirServiceJobNomenType
                                select new
                        {
                            id = x.DirServiceJobNomenID,
                            sub = x.Sub,
                            text = x.DirServiceJobNomenName,
                            leaf =
                                (
                                    from y in db.DirServiceJobNomens
                                    where y.Sub == x.DirServiceJobNomenID
                                    select y
                                ).Count() == 0 ? true : false,

                            Del = x.Del,

                            //Полный путь от группы к выбраному элементу
                            DirServiceJobNomenPatchFull = x.DirServiceJobNomenName
                        }
                            ).OrderBy(x => x.leaf).ThenBy(y => y.text);

                        #endregion


                        #region Отправка JSON

                        //return Ok(await Task.Run(() => query));

                        dynamic collectionWrapper = new
                        {
                            query
                        };
                        return(Ok(await Task.Run(() => collectionWrapper)));

                        #endregion
                    }
                    else
                    {
                        #region Кликнули по Ветке - отобразить подчинённые

                        int iNode = Convert.ToInt32(_params.node);

                        //Получить "категорию + наименование" для "iNode" всех рутов
                        string DirServiceJobNomenPatchFull = await Task.Run(() => DirServiceJobNomenSubFind2(iNode));

                        var query =
                            (
                                from x in db.DirServiceJobNomens

                                //join remRemnants1 in db.RemRemnants on x.DirServiceJobNomenID equals remRemnants1.DirServiceJobNomenID into remRemnants2
                                //from remRemnants in remRemnants2.Where(x => x.DirWarehouseID == _params.DirWarehouseID).DefaultIfEmpty()

                                where x.Sub == iNode && x.DirServiceJobNomenID != _params.XGroupID_NotShow
                                select new
                        {
                            id = x.DirServiceJobNomenID,
                            sub = x.Sub,
                            text = x.DirServiceJobNomenName,
                            leaf =
                                (
                                    from y in db.DirServiceJobNomens
                                    where y.Sub == x.DirServiceJobNomenID
                                    select y
                                ).Count() == 0 ? 1 : 0,

                            Del = x.Del,
                            Sub = x.Sub,

                            //Полный путь от группы к выбраному элементу
                            DirServiceJobNomenPatchFull = DirServiceJobNomenPatchFull + x.DirServiceJobNomenName,

                            //Остаток
                            //Remains = remRemnants.Quantity == null ? 0 : remRemnants.Quantity
                        }
                            ).OrderBy(x => x.leaf).ThenBy(y => y.text);

                        #endregion


                        #region Отправка JSON

                        //return Ok(await Task.Run(() => query));

                        dynamic collectionWrapper = new
                        {
                            query
                        };
                        return(Ok(await Task.Run(() => collectionWrapper)));

                        #endregion
                    }
                }
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 21
0
 protected void SetChatNameCookie(string name)
 {
     if (Request.Cookies["ChatName"] == null)
     {
         System.Web.HttpCookie newCookie = new System.Web.HttpCookie("ChatName", name);
         Response.AppendCookie(newCookie);
     }
     else
     {
         System.Web.HttpCookie oldCookie = Request.Cookies["ChatName"];
         oldCookie.Value = name;
         Response.SetCookie(oldCookie);
     }
 }
Esempio n. 22
0
        /// <summary>
        /// Attempts to match a known kiosk based on the IP address of the client.
        /// </summary>
        private void GetKioskType(Kiosk kiosk, RockContext rockContext)
        {
            if (kiosk.KioskType != null)
            {
                DeviceService deviceService = new DeviceService(rockContext);
                //Load matching device and update or create information
                var device = deviceService.Queryable().Where(d => d.Name == kiosk.Name).FirstOrDefault();

                //create new device to match our kiosk
                if (device == null)
                {
                    device = new Device();
                    device.DeviceTypeValueId = DefinedValueCache.Get(Rock.SystemGuid.DefinedValue.DEVICE_TYPE_CHECKIN_KIOSK).Id;
                    device.Name = kiosk.Name;
                    deviceService.Add(device);
                }

                device.LoadAttributes();
                device.IPAddress = kiosk.IPAddress;
                device.Locations.Clear();
                foreach (var loc in kiosk.KioskType.Locations.ToList())
                {
                    device.Locations.Add(loc);
                }
                device.PrintFrom       = kiosk.PrintFrom;
                device.PrintToOverride = kiosk.PrintToOverride;
                device.PrinterDeviceId = kiosk.PrinterDeviceId;
                rockContext.SaveChanges();

                if (PageParameter("DateTime").AsDateTime().HasValue)
                {
                    device.SetAttributeValue("core_device_DebugDateTime", PageParameter("datetime"));
                }
                else
                {
                    device.SetAttributeValue("core_device_DebugDateTime", "");
                }
                device.SaveAttributeValues(rockContext);

                LocalDeviceConfig.CurrentKioskId       = device.Id;
                LocalDeviceConfig.CurrentGroupTypeIds  = kiosk.KioskType.GroupTypes.Select(gt => gt.Id).ToList();
                LocalDeviceConfig.CurrentCheckinTypeId = kiosk.KioskType.CheckinTemplateId;

                CurrentCheckInState = null;
                CurrentWorkflow     = null;

                var kioskTypeCookie = this.Page.Request.Cookies["KioskTypeId"];

                if (kioskTypeCookie == null)
                {
                    kioskTypeCookie = new System.Web.HttpCookie("KioskTypeId");
                }

                kioskTypeCookie.Expires = RockDateTime.Now.AddYears(1);
                kioskTypeCookie.Value   = kiosk.KioskType.Id.ToString();

                this.Page.Response.Cookies.Set(kioskTypeCookie);

                Session["KioskTypeId"]  = kiosk.KioskType.Id;
                Session["KioskMessage"] = kiosk.KioskType.Message;

                //Clean things up so we have the freshest possible version.
                KioskTypeCache.Remove(kiosk.KioskTypeId ?? 0);
                KioskDevice.Remove(device.Id);

                Dictionary <string, string> themeParameters = new Dictionary <string, string>();
                if (kiosk.KioskType.Theme.IsNotNullOrWhiteSpace() && !GetAttributeValue("Manual").AsBoolean())
                {
                    LocalDeviceConfig.CurrentTheme = kiosk.KioskType.Theme;
                    themeParameters.Add("theme", LocalDeviceConfig.CurrentTheme);
                }

                SaveState();

                NavigateToNextPage(themeParameters);
            }
            else
            {
                ltDNS.Text      = kiosk.Name;
                pnlMain.Visible = true;
            }
        }
Esempio n. 23
0
        public ActionResult Login(string username, string password)
        {
            if (username.Equals(AppModel.Settings.Administrator) && password.Equals(System.Web.Configuration.WebConfigurationManager.AppSettings["Password"]))
            {
                var cookie = new System.Web.HttpCookie("dna_administrator");
                cookie.Expires = DateTime.Now.AddHours(1);
                Response.AppendCookie(cookie);
                return RedirectToAction("Index");
            }

            return View();
        }
        /// <summary>
        /// Extrai o ticket do cookie.
        /// </summary>
        /// <param name="context"></param>
        /// <param name="name"></param>
        /// <param name="cookielessTicket"></param>
        /// <returns></returns>
        private static System.Web.Security.FormsAuthenticationTicket ExtractTicketFromCookie(HttpContext context, string name, out bool cookielessTicket)
        {
            System.Web.Security.FormsAuthenticationTicket ticket = null;
            string encryptedTicket = null;

            System.Web.Security.FormsAuthenticationTicket ticket2;
            bool flag  = false;
            bool flag2 = false;

            try
            {
                try
                {
                    cookielessTicket = false;
                    if (cookielessTicket)
                    {
                        encryptedTicket = context.CookielessHelper.GetCookieValue('F');
                    }
                    else
                    {
                        var cookie = context.Request.Cookies[name];
                        if (cookie != null)
                        {
                            encryptedTicket = cookie.Value;
                        }
                    }
                    if ((encryptedTicket != null) && (encryptedTicket.Length > 1))
                    {
                        try
                        {
                            ticket = System.Web.Security.FormsAuthentication.Decrypt(encryptedTicket);
                        }
                        catch
                        {
                            if (cookielessTicket)
                            {
                                context.CookielessHelper.SetCookieValue('F', null);
                            }
                            else
                            {
                                context.Request.Cookies.Remove(name);
                            }
                            flag2 = true;
                        }
                        if (ticket == null)
                        {
                            flag2 = true;
                        }
                        if (((ticket != null) && !ticket.Expired) && ((cookielessTicket || !System.Web.Security.FormsAuthentication.RequireSSL) || context.Request.IsSecureConnection))
                        {
                            return(ticket);
                        }
                        if ((ticket != null) && ticket.Expired)
                        {
                            flag = true;
                        }
                        ticket = null;
                        if (cookielessTicket)
                        {
                            context.CookielessHelper.SetCookieValue('F', null);
                        }
                        else
                        {
                            context.Request.Cookies.Remove(name);
                        }
                    }
                    if (System.Web.Security.FormsAuthentication.EnableCrossAppRedirects)
                    {
                        encryptedTicket = context.Request.QueryString[name];
                        if ((encryptedTicket != null) && (encryptedTicket.Length > 1))
                        {
                            if (!cookielessTicket && (System.Web.Security.FormsAuthentication.CookieMode == System.Web.HttpCookieMode.AutoDetect))
                            {
                                cookielessTicket = Security.CookielessHelperClass.UseCookieless(context, true, System.Web.Security.FormsAuthentication.CookieMode);
                            }
                            try
                            {
                                ticket = System.Web.Security.FormsAuthentication.Decrypt(encryptedTicket);
                            }
                            catch
                            {
                                flag2 = true;
                            }
                            if (ticket == null)
                            {
                                flag2 = true;
                            }
                        }
                        if ((ticket == null) || ticket.Expired)
                        {
                            encryptedTicket = context.Request.Form[name];
                            if ((encryptedTicket != null) && (encryptedTicket.Length > 1))
                            {
                                if (!cookielessTicket && (System.Web.Security.FormsAuthentication.CookieMode == System.Web.HttpCookieMode.AutoDetect))
                                {
                                    cookielessTicket = Security.CookielessHelperClass.UseCookieless(context, true, System.Web.Security.FormsAuthentication.CookieMode);
                                }
                                try
                                {
                                    ticket = System.Web.Security.FormsAuthentication.Decrypt(encryptedTicket);
                                }
                                catch
                                {
                                    flag2 = true;
                                }
                                if (ticket == null)
                                {
                                    flag2 = true;
                                }
                            }
                        }
                    }
                    if ((ticket == null) || ticket.Expired)
                    {
                        if ((ticket != null) && ticket.Expired)
                        {
                            flag = true;
                        }
                        return(null);
                    }
                    if (System.Web.Security.FormsAuthentication.RequireSSL && !context.Request.IsSecureConnection)
                    {
                        throw new System.Web.HttpException("Connection not secure creating secure cookie");
                    }
                    if (cookielessTicket)
                    {
                        if (ticket.CookiePath != "/")
                        {
                            ticket          = FromUtc(ticket.Version, ticket.Name, ticket.IssueDate, ticket.Expiration, ticket.IsPersistent, ticket.UserData, "/");
                            encryptedTicket = System.Web.Security.FormsAuthentication.Encrypt(ticket);
                        }
                        context.CookielessHelper.SetCookieValue('F', encryptedTicket);
                        string url = RemoveQueryStringVariableFromUrl(context.Request.RawUrl, name);
                        context.Response.Redirect(url);
                    }
                    else
                    {
                        var cookie2 = new System.Web.HttpCookie(name, encryptedTicket)
                        {
                            HttpOnly = true,
                            Path     = ticket.CookiePath
                        };
                        if (ticket.IsPersistent)
                        {
                            cookie2.Expires = ticket.Expiration;
                        }
                        cookie2.Secure = System.Web.Security.FormsAuthentication.RequireSSL;
                        if (System.Web.Security.FormsAuthentication.CookieDomain != null)
                        {
                            cookie2.Domain = System.Web.Security.FormsAuthentication.CookieDomain;
                        }
                        context.Response.Cookies.Remove(cookie2.Name);
                        context.Response.Cookies.Add(cookie2);
                    }
                    ticket2 = ticket;
                }
                finally
                {
                }
            }
            catch
            {
                throw;
            }
            return(ticket2);
        }
        /// <summary>
        /// Método acionado quando for solicitada a autenticação.
        /// </summary>
        /// <param name="e"></param>
        private void OnAuthenticate(FormsAuthenticationEventArgs e)
        {
            System.Web.HttpCookie cookie = null;
            if (_eventHandler != null)
            {
                _eventHandler(this, e);
            }
            //// Recupera o cookie da autenticação
            var formAuthCookie = HttpContext.Current.Request.Cookies[System.Web.Security.FormsAuthentication.FormsCookieName];

            if (formAuthCookie != null && !string.IsNullOrEmpty(formAuthCookie.Value))
            {
                if (e.User != null)
                {
                    e.Context.SetPrincipalNoDemand(e.User);
                }
                else
                {
                    bool cookielessTicket = false;
                    var  tOld             = ExtractTicketFromCookie(e.Context, System.Web.Security.FormsAuthentication.FormsCookieName, out cookielessTicket);
                    if ((tOld != null) && !tOld.Expired)
                    {
                        System.Web.Security.FormsAuthenticationTicket ticket = tOld;
                        if (System.Web.Security.FormsAuthentication.SlidingExpiration)
                        {
                            ticket = System.Web.Security.FormsAuthentication.RenewTicketIfOld(tOld);
                        }
                        e.Context.SetPrincipalNoDemand(new System.Security.Principal.GenericPrincipal(new System.Web.Security.FormsIdentity(ticket), new string[0]));
                        if (!cookielessTicket && !ticket.CookiePath.Equals("/"))
                        {
                            cookie = e.Context.Request.Cookies[System.Web.Security.FormsAuthentication.FormsCookieName];
                            if (cookie != null)
                            {
                                cookie.Path = ticket.CookiePath;
                            }
                        }
                        if (ticket != tOld)
                        {
                            if ((cookielessTicket && (ticket.CookiePath != "/")) && (ticket.CookiePath.Length > 1))
                            {
                                ticket = FromUtc(ticket.Version, ticket.Name, ticket.IssueDate, ticket.Expiration, ticket.IsPersistent, ticket.UserData, "/");
                            }
                            string cookieValue = System.Web.Security.FormsAuthentication.Encrypt(ticket);
                            if (cookielessTicket)
                            {
                                e.Context.CookielessHelper.SetCookieValue('F', cookieValue);
                                e.Context.Response.Redirect(e.Context.Request.RawUrl);
                            }
                            else
                            {
                                if (cookie != null)
                                {
                                    cookie = e.Context.Request.Cookies[System.Web.Security.FormsAuthentication.FormsCookieName];
                                }
                                if (cookie == null)
                                {
                                    cookie = new System.Web.HttpCookie(System.Web.Security.FormsAuthentication.FormsCookieName, cookieValue)
                                    {
                                        Path = ticket.CookiePath
                                    };
                                }
                                if (ticket.IsPersistent)
                                {
                                    cookie.Expires = ticket.Expiration;
                                }
                                cookie.Value    = cookieValue;
                                cookie.Secure   = System.Web.Security.FormsAuthentication.RequireSSL;
                                cookie.HttpOnly = true;
                                if (System.Web.Security.FormsAuthentication.CookieDomain != null)
                                {
                                    cookie.Domain = System.Web.Security.FormsAuthentication.CookieDomain;
                                }
                                e.Context.Response.Cookies.Remove(cookie.Name);
                                e.Context.Response.Cookies.Add(cookie);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 26
0
 //ToDo: "PDF"
 public Boolean ExportPDF(Int64 TemplateId, Int64 VersionId, System.Web.HttpResponse webResponse, System.Web.HttpCookie cookie)
 {
     //ToDo
     return(true);
 }
Esempio n. 27
0
 public static void destroyCookie(string ckName)
 {
     System.Web.HttpCookie cookie = new System.Web.HttpCookie(ckName);
     cookie.Expires = DateTime.Now.AddDays(-1);
     System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
 }
        public void ProcessRequest(System.Web.HttpContext context)
        {
            context.Response.ContentType = "text/cache-manifest";

            string manifestTemplateKey = "AppCacheFactory.ManifestTemplate";
            string manifestTemplate    = context.Application[manifestTemplateKey] as string;
            string manifestString      = null;

            if (manifestTemplate == null)
            {
                string manifestPath = WebConfigurationManager.AppSettings["AppCacheFactory.Manifest"];
                if (manifestPath != null)
                {
                    System.IO.StreamReader sr = System.IO.File.OpenText(context.Server.MapPath(manifestPath));
                    manifestTemplate = sr.ReadToEnd();
                    sr.Close();

                    manifestTemplate = manifestTemplate.Replace("NETWORK:", "{0}\n\nNETWORK:");
                    context.Application.Add(manifestTemplateKey, manifestTemplate);
                }
            }


            string queryString = context.Request.Url.Query;

            if (queryString.Length > 0)
            {
                string encodedObjectString = queryString.Substring(1);
                string cookieKey           = WebConfigurationManager.AppSettings["AppCacheFactory.Keys.Cookie"];
                if (cookieKey == null)
                {
                    cookieKey = "TC.offline.map.delete";
                }
                else
                {
                    cookieKey += "delete";
                }
                System.Web.HttpCookie deleteCookie = context.Request.Cookies.Get(cookieKey);
                string cachedTime = context.Cache.Get(encodedObjectString) as string;

                if (deleteCookie != null && context.Server.UrlDecode(deleteCookie.Value) == encodedObjectString)
                {
                    // El manifiesto está marcado para borrar: Devolvemos un código HTTP 410 (recurso ya no existe) para que en cliente se borre la cache
                    context.Response.StatusCode = 410;
                    context.Response.End();
                }
                string objectString = null;
                try
                {
                    objectString = Encoding.UTF8.GetString(Convert.FromBase64String(encodedObjectString));
                }
                catch (FormatException e)
                {
                }
                if (objectString != null)
                {
                    JsonReader        jsonReader          = new JsonTextReader(new System.IO.StringReader(objectString));
                    JsonSerializer    jsonSerializer      = new JsonSerializer();
                    WMTSRequestData[] wmtsRequestDataList = null;

                    try
                    {
                        wmtsRequestDataList = jsonSerializer.Deserialize <WMTSRequestData[]>(jsonReader);
                    }
                    catch (JsonReaderException e)
                    {
                    }
                    if (wmtsRequestDataList != null)
                    {
                        StringBuilder tileListText = new StringBuilder();
                        for (int i = 0; i < wmtsRequestDataList.Length; i++)
                        {
                            tileListText.AppendLine(string.Join("\n", wmtsRequestDataList[i].GetRequestList()));
                        }
                        manifestString = manifestTemplate.Replace("{0}", tileListText.ToString());
                    }
                }
            }
            if (manifestString == null)
            {
                manifestString = manifestTemplate.Replace("{0}", "");
            }
            context.Response.Write(manifestString);
            context.Response.End();
        }
Esempio n. 29
0
        public async Task <IHttpActionResult> DeleteDirServiceJobNomen(int id)
        {
            //Удаляем, если исключение "FK", то ставим пометку на удаление и сообщаем об этом клиенту
            //...

            #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

            //Получаем Куку
            System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

            // Проверяем Логин и Пароль
            Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

            if (!field.Access)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
            }

            //Изменяем строку соединения
            db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

            //Права (1 - Write, 2 - Read, 3 - No Access)
            int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceJobNomens"));

            if (iRight != 1)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
            }

            //Разные Функции
            function.NumberDecimalSeparator();

            //Получам настройки
            Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

            #endregion

            #region Удаление

            try
            {
                //Получаем Sub-бы (нужны поледние 5-ть)
                int?Sub = await Task.Run(() => DirServiceJobNomenID_Sub_Find(id));

                int ID0 = 0, ID1 = 0, ID2 = 0, ID3 = 0, ID4 = 0;
                if (Sub != null && Sub > 0)
                {
                    ArrayList Subs = await Task.Run(() => DirServiceJobNomenSubFind(Sub));

                    if (Subs.Count > 0)
                    {
                        if (Subs.Count > 0)
                        {
                            ID0 = Convert.ToInt32(Subs[0]);
                        }
                        if (Subs.Count > 1)
                        {
                            ID1 = Convert.ToInt32(Subs[1]);
                        }
                        if (Subs.Count > 2)
                        {
                            ID2 = Convert.ToInt32(Subs[2]);
                        }
                        if (Subs.Count > 3)
                        {
                            ID3 = Convert.ToInt32(Subs[3]);
                        }
                        if (Subs.Count > 4)
                        {
                            ID4 = Convert.ToInt32(Subs[4]);
                        }
                    }
                }



                DirServiceJobNomen dirServiceJobNomen = await db.DirServiceJobNomens.FindAsync(id);

                if (dirServiceJobNomen == null)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg99)));
                }

                if (!dirServiceJobNomen.Del)
                {
                    // === Удаляем === === === === ===


                    #region 6. JourDisp *** *** *** *** *** *** *** *** *** *

                    Models.Sklad.Sys.SysJourDisp sysJourDisp = new Models.Sklad.Sys.SysJourDisp();
                    sysJourDisp.DirDispOperationID = 5; //Удаление записи
                    sysJourDisp.DirEmployeeID      = field.DirEmployeeID;
                    sysJourDisp.ListObjectID       = ListObjectID;
                    sysJourDisp.TableFieldID       = dirServiceJobNomen.DirServiceJobNomenID;
                    sysJourDisp.Description        = "";
                    try { sysJourDispsController.mPutPostSysJourDisps(db, sysJourDisp, EntityState.Added); } catch (Exception ex) { }

                    #endregion


                    //1. Удаляем
                    try
                    {
                        db.DirServiceJobNomens.Remove(dirServiceJobNomen);
                        await db.SaveChangesAsync();

                        dynamic collectionWrapper = new
                        {
                            ID  = dirServiceJobNomen.DirServiceJobNomenID,
                            ID0 = ID0,
                            ID1 = ID1,
                            ID2 = ID2,
                            ID3 = ID3,
                            ID4 = ID4,
                            Msg = Classes.Language.Sklad.Language.msg19
                        };
                        return(Ok(returnServer.Return(true, collectionWrapper)));
                    }
                    catch (Exception ex)
                    {
                        if (function.ExceptionFkExist(ex))
                        {
                            //2. Исключение - пометка на удаление
                            dirServiceJobNomen.Del = true;

                            db.Entry(dirServiceJobNomen).State = EntityState.Modified;
                            await db.SaveChangesAsync();

                            dynamic collectionWrapper = new
                            {
                                ID  = dirServiceJobNomen.DirServiceJobNomenID,
                                ID0 = ID0,
                                ID1 = ID1,
                                ID2 = ID2,
                                ID3 = ID3,
                                ID4 = ID4,
                                Msg = Classes.Language.Sklad.Language.msg96 //"Помечено на удаление, так как запись задействована в других объектах сервиса (напр. в документах)."
                            };
                            return(Ok(returnServer.Return(true, collectionWrapper)));
                        }
                        else
                        {
                            return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
                        }
                    }
                }
                else
                {
                    // === Снимаем пометку на удаление === === === === ===

                    dirServiceJobNomen.Del = false;

                    db.Entry(dirServiceJobNomen).State = EntityState.Modified;
                    await db.SaveChangesAsync();

                    dynamic collectionWrapper = new
                    {
                        ID  = dirServiceJobNomen.DirServiceJobNomenID,
                        ID0 = ID0,
                        ID1 = ID1,
                        ID2 = ID2,
                        ID3 = ID3,
                        ID4 = ID4,
                        Msg = Classes.Language.Sklad.Language.msg97           //"Пометка на удаление снята."
                    };
                    return(Ok(returnServer.Return(true, collectionWrapper))); //return Ok(returnServer.Return(true, ""));
                }
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }

            #endregion
        }
Esempio n. 30
0
        public async Task <IHttpActionResult> PutDirServiceJobNomen(int id, int?sub)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)
                int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceJobNomens"));

                if (iRight != 1)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
                }

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion

                #region Проверки

                //NULL - нельзя передать!!!
                if (sub == 0)
                {
                    sub = null;
                }

                //"Перемещать єлемент сам в себя запрещено!"
                if (id == sub)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg100)));
                }

                //Ещё проверку сделать:
                //Что бы не внести в подчинённые записи (До 7-го уровня)!
                if (sub != 0 && sub != null)
                {
                    Models.Sklad.Dir.DirServiceJobNomen dirServiceJobNomenSub = await db.DirServiceJobNomens.FindAsync(sub);

                    if (dirServiceJobNomenSub.Sub == id)
                    {
                        return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg100)));
                    }
                    else if (dirServiceJobNomenSub.Sub != null)
                    {
                        dirServiceJobNomenSub = await db.DirServiceJobNomens.FindAsync(dirServiceJobNomenSub.Sub);

                        if (dirServiceJobNomenSub.Sub == id)
                        {
                            return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg100)));
                        }
                        else if (dirServiceJobNomenSub.Sub != null)
                        {
                            dirServiceJobNomenSub = await db.DirServiceJobNomens.FindAsync(dirServiceJobNomenSub.Sub);

                            if (dirServiceJobNomenSub.Sub == id)
                            {
                                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg100)));
                            }
                            else if (dirServiceJobNomenSub.Sub != null)
                            {
                                dirServiceJobNomenSub = await db.DirServiceJobNomens.FindAsync(dirServiceJobNomenSub.Sub);

                                if (dirServiceJobNomenSub.Sub == id)
                                {
                                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg100)));
                                }
                                else if (dirServiceJobNomenSub.Sub != null)
                                {
                                    dirServiceJobNomenSub = await db.DirServiceJobNomens.FindAsync(dirServiceJobNomenSub.Sub);

                                    if (dirServiceJobNomenSub.Sub == id)
                                    {
                                        return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg100)));
                                    }
                                    else if (dirServiceJobNomenSub.Sub != null)
                                    {
                                        dirServiceJobNomenSub = await db.DirServiceJobNomens.FindAsync(dirServiceJobNomenSub.Sub);

                                        if (dirServiceJobNomenSub.Sub == id)
                                        {
                                            return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg100)));
                                        }
                                        else if (dirServiceJobNomenSub.Sub != null)
                                        {
                                            dirServiceJobNomenSub = await db.DirServiceJobNomens.FindAsync(dirServiceJobNomenSub.Sub);

                                            if (dirServiceJobNomenSub.Sub == id)
                                            {
                                                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg100)));
                                            }
                                            else if (dirServiceJobNomenSub.Sub != null)
                                            {
                                                //dirServiceJobNomenSub = await db.DirServiceJobNomens.FindAsync(dirServiceJobNomenSub.Sub);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                #endregion


                #region Сохранение


                Models.Sklad.Dir.DirServiceJobNomen dirServiceJobNomen = await db.DirServiceJobNomens.FindAsync(id);

                dirServiceJobNomen.Sub = sub;

                db.Entry(dirServiceJobNomen).State = EntityState.Modified;
                await db.SaveChangesAsync();


                #region 6. JourDisp *** *** *** *** *** *** *** *** *** *

                Models.Sklad.Sys.SysJourDisp sysJourDisp = new Models.Sklad.Sys.SysJourDisp();
                sysJourDisp.DirDispOperationID = 4; //Изменение записи
                sysJourDisp.DirEmployeeID      = field.DirEmployeeID;
                sysJourDisp.ListObjectID       = ListObjectID;
                sysJourDisp.TableFieldID       = id;
                sysJourDisp.Description        = "";
                try { sysJourDispsController.mPutPostSysJourDisps(db, sysJourDisp, EntityState.Added); } catch (Exception ex) { }

                #endregion


                dynamic collectionWrapper = new
                {
                    ID = dirServiceJobNomen.DirServiceJobNomenID
                };
                return(Ok(returnServer.Return(true, collectionWrapper)));

                #endregion
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 31
0
        public async Task <IHttpActionResult> PostDirNomen(HttpRequestMessage request) //DirNomen dirNomen
        {
            #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

            //Получаем Куку
            System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

            // Проверяем Логин и Пароль
            Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

            if (!field.Access)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
            }

            //Изменяем строку соединения
            db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

            //Права (1 - Write, 2 - Read, 3 - No Access)
            int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirNomens"));

            if (iRight != 1)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
            }

            //Разные Функции
            function.NumberDecimalSeparator();

            //Получам настройки
            sysSetting = await db.SysSettings.FindAsync(1);

            #endregion


            try
            {
                #region Получеие параметров

                var    paramList = request.GetQueryNameValuePairs();
                string param     = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "param", true) == 0).Value;

                //Получаем "GenID"
                PartionnyAccount.Classes.Function.GenGenerate genGenerate = new Classes.Function.GenGenerate();
                string GenID = await genGenerate.ReturnGenID(db);

                //Сохраняем на диск
                string sLogo = "";

                //Для получения параметров и сохранение файла изображения
                //string root = System.Web.HttpContext.Current.Server.MapPath("~/Users/File/Images/DirNomenPhoto").ToString();
                string root     = System.Web.HttpContext.Current.Server.MapPath("~/Users/user_" + field.DirCustomersID).ToString();
                var    provider = new MultipartFormDataStreamProvider(root);
                await Request.Content.ReadAsMultipartAsync(provider).ConfigureAwait(false);

                //Проверяем размер, если больше 150КБ, Удаляем и Эксепшен
                FileInfo file = new FileInfo(provider.FileData[0].LocalFileName);
                if (file.Length / 1024 > 150)
                {
                    throw new System.InvalidOperationException("Превышен размер изображения! максимальный 150КБ.");
                }
                file = null;

                //Считываем сохранённый файл и перезаписываем его с нужным именем
                string
                    FileNameX = provider.FileData[0].Headers.ContentDisposition.FileName.Replace(@"""", ""), // чисто что бы проверить, выбран ли файл
                    FileNameY = @"\" + GenID + ".jpg";                                                       //Используется при сохранениее
                if (FileNameX != "")
                {
                    if (File.Exists(root + FileNameY))
                    {
                        throw new System.InvalidOperationException("Изображение товара с таким наименованием уже существует! Поменяйте наименование!");
                    }
                    else
                    {
                        if (param == "size40")
                        {
                            SavePictureFixed(provider.FileData[0].LocalFileName, root + FileNameY);
                        }
                        else
                        {
                            File.Copy(provider.FileData[0].LocalFileName, root + FileNameY);
                        }
                    }

                    //Получение самих параметров
                    sLogo = GenID; // root + @"/" + FileName;
                }
                File.Delete(provider.FileData[0].LocalFileName);

                #endregion


                #region Сохранение

                dynamic collectionWrapper = new
                {
                    SysGenID      = GenID,
                    SysGenIDPatch = "/Users/user_" + field.DirCustomersID + "/" + FileNameY
                };
                return(Ok(returnServer.Return(true, collectionWrapper)));

                #endregion
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 32
0
        public async Task <IHttpActionResult> GetDirServiceJobNomen(string pSearch, int iPriznak)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)
                int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceJobNomens"));

                if (iRight == 3)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
                }

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion


                #region Поиск

                //Цель всех запросов получить "ID" и "Sub" (Sub - что бы раскрыть все ветки)
                int?iID  = 0;
                int?iSub = 0;


                int value;
                if (int.TryParse(pSearch, out value))
                {
                    iID = Convert.ToInt32(pSearch);

                    var query = db.DirServiceJobNomens.Where(x => x.DirServiceJobNomenID == iID).ToList();
                    if (query.Count() > 0)
                    {
                        iSub = query[0].Sub;
                    }
                }
                else
                {
                    //Значить это артикул или наименование!

                    var query = db.DirServiceJobNomens.Where(x => x.DirServiceJobNomenArticle.Contains(pSearch) || x.NameFullLower.Contains(pSearch)).ToList();
                    if (query.Count() > 0)
                    {
                        iID  = query[0].DirServiceJobNomenID;
                        iSub = query[0].Sub;
                    }
                }

                #endregion

                #region Отправка JSON

                if (iSub > 0)
                {
                    //Получаем Sub-бы (нужны поледние 5-ть)
                    ArrayList Subs = await Task.Run(() => DirServiceJobNomenSubFind(iSub));

                    int ID0 = 0, ID1 = 0, ID2 = 0, ID3 = 0, ID4 = 0;
                    if (Subs.Count > 0)
                    {
                        if (Subs.Count > 0)
                        {
                            ID0 = Convert.ToInt32(Subs[0]);
                        }
                        if (Subs.Count > 1)
                        {
                            ID1 = Convert.ToInt32(Subs[1]);
                        }
                        if (Subs.Count > 2)
                        {
                            ID2 = Convert.ToInt32(Subs[2]);
                        }
                        if (Subs.Count > 3)
                        {
                            ID3 = Convert.ToInt32(Subs[3]);
                        }
                        if (Subs.Count > 4)
                        {
                            ID4 = Convert.ToInt32(Subs[4]);
                        }
                    }

                    dynamic collectionWrapper = new
                    {
                        ID  = iID,
                        ID0 = ID0,
                        ID1 = ID1,
                        ID2 = ID2,
                        ID3 = ID3,
                        ID4 = ID4,
                    };
                    return(Ok(returnServer.Return(true, collectionWrapper)));
                }
                else
                {
                    return(Ok(returnServer.Return(true, -1)));
                }

                #endregion


                //return Ok(returnServer.Return(true, "Нет данных!"));
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
        public JsonResult LoginClient(string username, string password)
        {
            var clientToLogin = clientPortalInfo.Clients.FirstOrDefault(clientInstance => clientInstance.UserName.ToLower() == username.ToLower() && clientInstance.Password == password);

            if (clientToLogin != null)
            {
                var SessionCookie = new System.Web.HttpCookie("LoggedInUser");
                SessionCookie.Expires = DateTime.Now.AddHours(3);
                SessionCookie.Value = clientToLogin.ID.ToString();
                Response.Cookies.Set(SessionCookie);

                return Json(new { Success = true, UserID = clientToLogin.ID }, JsonRequestBehavior.AllowGet);
            }

            if (Request.Cookies.AllKeys.Contains("LoggedInUser"))
            {
                var cookie = Request.Cookies["LoggedInUser"];
                cookie.Expires = DateTime.Today.AddDays(-1);
                Response.Cookies.Set(cookie);
            }

            return Json(new { Success = false }, JsonRequestBehavior.AllowGet);
        }
 public Boolean ExportToRtf(String clientFileName, System.Web.HttpResponse webResponse, System.Web.HttpCookie cookie)
 {
     Helpers.HelperExportRTF _Helper = new Helpers.HelperExportRTF();
     return(_Helper.ExportToRtf(GetExportTemplate(), clientFileName, webResponse, cookie));
 }
 public ActionResult Logout()
 {
     System.Web.HttpCookie myCookie = new System.Web.HttpCookie("user");
     myCookie.Expires = DateTime.Now.AddDays(-1d);
     Response.Cookies.Add(myCookie);
     return RedirectToAction("Index", "Home", new { Area = "" });
 }
Esempio n. 36
0
        public async Task <IHttpActionResult> GetListObjectFieldName(int id, HttpRequestMessage request)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)

                /*
                 * int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightListObjectFieldNames"));
                 * if (iRight == 3) return Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0)));
                 */

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion


                #region Параметры

                Params _params = new Params();

                //paramList -список параметров
                var paramList = request.GetQueryNameValuePairs();
                //Параметры
                _params.parSearch = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "parSearch", true) == 0).Value; if (_params.parSearch != null)
                {
                    _params.parSearch = _params.parSearch.ToLower();                                                                                                                                      //Поиск
                }
                #endregion


                #region Отправка JSON

                var query = await Task.Run(() =>
                                           (
                                               from x in db.ListObjectFieldNames
                                               where x.ListObjectFieldNameID == id
                                               select new
                {
                    ListObjectFieldNameID = x.ListObjectFieldNameID,
                    ListObjectFieldNameRu = x.ListObjectFieldNameRu,         //ListObjectNameSys = x.ListObjectNameSys,
                }
                                           ).ToListAsync());


                if (query.Count() > 0)
                {
                    return(Ok(returnServer.Return(true, query[0])));
                }
                else
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg89)));
                }

                //return Ok(returnServer.Return(false, Classes.Language.Language.msg89));

                #endregion
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 37
0
        // GET: api/DocRetailTabs
        public async Task <IHttpActionResult> GetDocRetailTabs(HttpRequestMessage request)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)
                int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDocRetails"));

                if (iRight == 3)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
                }

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion


                #region Параметры

                Params _params = new Params();

                //paramList -список параметров
                var paramList = request.GetQueryNameValuePairs();
                //Параметры
                _params.DocRetailID = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "DocRetailID", true) == 0).Value);
                //_params.DocDate = Convert.ToDateTime(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "DocDate", true) == 0).Value);

                _params.DateS = Convert.ToDateTime(Convert.ToDateTime(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "DocDateS", true) == 0).Value).ToString("yyyy-MM-dd 23:59:59"));
                if (_params.DateS < Convert.ToDateTime("01.01.1800"))
                {
                    _params.DateS = Convert.ToDateTime(sysSetting.JurDateS.ToString("yyyy-MM-dd 00:00:00")).AddDays(-1);
                }
                else
                {
                    _params.DateS = _params.DateS.Value.AddDays(-1);
                }

                _params.DatePo = Convert.ToDateTime(Convert.ToDateTime(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "DocDatePo", true) == 0).Value).ToString("yyyy-MM-dd 23:59:59"));
                if (_params.DatePo < Convert.ToDateTime("01.01.1800"))
                {
                    _params.DatePo = Convert.ToDateTime(sysSetting.JurDatePo.ToString("yyyy-MM-dd 23:59:59"));
                }

                _params.DirWarehouseID = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "DirWarehouseID", true) == 0).Value);

                #endregion



                #region Основной запрос *** *** ***

                var query =
                    (
                        //Розничный Чек

                        from x in db.RemPartyMinuses
                        from y in db.DocRetailTabs

                        join dirNomens11 in db.DirNomens on x.dirNomen.Sub equals dirNomens11.DirNomenID into dirNomens12
                        from dirNomensSubGroup in dirNomens12.DefaultIfEmpty()

                        join dirNomens21 in db.DirNomens on dirNomensSubGroup.Sub equals dirNomens21.DirNomenID into dirNomens22
                        from dirNomensGroup in dirNomens22.DefaultIfEmpty()

                        where
                        x.FieldID == y.DocRetailTabID &&
                        x.doc.DocDate >= _params.DateS && x.doc.DocDate <= _params.DatePo && x.doc.ListObjectID == 56 &&
                        x.DirWarehouseID == _params.DirWarehouseID

                        #region select

                        select new
                {
                    DocID = x.DocID,
                    KKMSCheckNumber = y.docRetail.doc.KKMSCheckNumber,
                    KKMSIdCommand = y.docRetail.doc.KKMSIdCommand,

                    DocDate = x.doc.DocDate,
                    Held = x.doc.Held,
                    Discount = x.doc.Discount,
                    DocRetailID = y.DocRetailID,         //NumberReal = x.doc.NumberReal,
                    DocRetailReturnID = y.DocRetailID,   //NumberReal = x.doc.NumberReal,
                    DirWarehouseID = x.DirWarehouseID,
                    ListObjectID = x.doc.listObject.ListObjectID,
                    ListObjectNameRu = x.doc.listObject.ListObjectNameRu,

                    DirNomenID = x.DirNomenID,

                    //DirNomenName = x.dirNomen.DirNomenName,
                    DirNomenName =
                        dirNomensSubGroup.DirNomenName == null ? x.dirNomen.DirNomenName :
                        dirNomensGroup.DirNomenName == null ? dirNomensSubGroup.DirNomenName + " / " + x.dirNomen.DirNomenName :
                        dirNomensGroup.DirNomenName + " / " + dirNomensSubGroup.DirNomenName + " / " + x.dirNomen.DirNomenName,

                    RemPartyID = x.RemPartyID,
                    RemPartyMinusID = x.RemPartyMinusID,
                    Quantity = x.Quantity,
                    PriceVAT = x.PriceVAT,

                    DirCurrencyID = x.DirCurrencyID,
                    DirCurrencyRate = x.DirCurrencyRate,
                    DirCurrencyMultiplicity = x.DirCurrencyMultiplicity,
                    DirCurrencyName = x.dirCurrency.DirCurrencyName + " (" + x.DirCurrencyRate + ", " + x.DirCurrencyMultiplicity + ")",

                    DirEmployeeName = x.doc.dirEmployee.DirEmployeeName,

                    //RemParty
                    Barcode = x.remParty.Barcode,
                    SerialNumber = x.remParty.SerialNumber,

                    DirCharColourName = x.remParty.dirCharColour.DirCharColourName,
                    DirCharMaterialName = x.remParty.dirCharMaterial.DirCharMaterialName,
                    DirCharNameName = x.remParty.dirCharName.DirCharNameName,
                    DirCharSeasonName = x.remParty.dirCharSeason.DirCharSeasonName,
                    DirCharSexName = x.remParty.dirCharSex.DirCharSexName,
                    DirCharSizeName = x.remParty.dirCharSize.DirCharSizeName,
                    DirCharStyleName = x.remParty.dirCharStyle.DirCharStyleName,
                    DirCharTextureName = x.remParty.dirCharTexture.DirCharTextureName,
                    DirChar =
                        x.remParty.dirCharColour.DirCharColourName + " " +
                        x.remParty.dirCharMaterial.DirCharMaterialName + " " +
                        x.remParty.dirCharName.DirCharNameName + " " +
                        x.remParty.dirCharSeason.DirCharSeasonName + " " +
                        x.remParty.dirCharSex.DirCharSexName + " " +
                        x.remParty.dirCharSize.DirCharSizeName + " " +
                        x.remParty.dirCharStyle.DirCharStyleName + " " +
                        x.remParty.dirCharTexture.DirCharTextureName,


                    //Приходная цена
                    //PriceCurrencyPurch = y.remParty.PriceCurrency, //x.remParty.PriceCurrency,


                    DirPaymentTypeID = x.doc.DirPaymentTypeID,
                    //Цена в т.в.
                    PriceCurrency = x.PriceCurrency,
                    //Себестоимость
                    SUMSalePriceVATCurrency = x.Quantity * x.PriceCurrency - x.doc.Discount == null ? 0
                            : Math.Round(x.Quantity * x.PriceCurrency - x.doc.Discount, sysSetting.FractionalPartInSum),


                    //Причина возврата
                    DirReturnTypeID = y.DirReturnTypeID,
                    DirReturnTypeName = "",

                    DirDescriptionID = y.DirDescriptionID,
                    DirDescriptionName = "",
                }

                        #endregion

                    ).Union
                    (
                        //Розничный возврат

                        from x in db.DocRetailReturnTabs

                        join dirNomens11 in db.DirNomens on x.dirNomen.Sub equals dirNomens11.DirNomenID into dirNomens12
                        from dirNomensSubGroup in dirNomens12.DefaultIfEmpty()

                        join dirNomens21 in db.DirNomens on dirNomensSubGroup.Sub equals dirNomens21.DirNomenID into dirNomens22
                        from dirNomensGroup in dirNomens22.DefaultIfEmpty()

                        where
                        //x.FieldID == y.DocRetailReturnTabID &&
                        x.docRetailReturn.doc.DocDate >= _params.DateS && x.docRetailReturn.doc.DocDate <= _params.DatePo && x.docRetailReturn.doc.ListObjectID == 57 &&
                        x.docRetailReturn.DirWarehouseID == _params.DirWarehouseID

                        join remPartyMinuses1 in db.RemPartyMinuses on x.RemPartyMinusID equals remPartyMinuses1.RemPartyMinusID into remPartyMinuses2
                        from remPartyMinuses in remPartyMinuses2.DefaultIfEmpty()

                        #region select

                        select new
                {
                    DocID           = x.docRetailReturn.DocID,
                    KKMSCheckNumber = x.docRetailReturn.doc.KKMSCheckNumber,
                    KKMSIdCommand   = x.docRetailReturn.doc.KKMSIdCommand,

                    DocDate           = x.docRetailReturn.doc.DocDate,
                    Held              = x.docRetailReturn.doc.Held,
                    Discount          = x.docRetailReturn.doc.Discount,
                    DocRetailID       = x.docRetailReturn.DocRetailReturnID,   //NumberReal = x.docRetailReturn.doc.NumberReal,
                    DocRetailReturnID = x.docRetailReturn.DocRetailReturnID,   //NumberReal = x.docRetailReturn.doc.NumberReal,
                    DirWarehouseID    = x.docRetailReturn.DirWarehouseID,
                    ListObjectID      = x.docRetailReturn.doc.listObject.ListObjectID,
                    ListObjectNameRu  = x.docRetailReturn.doc.listObject.ListObjectNameRu,

                    DirNomenID = x.DirNomenID,

                    //DirNomenName = x.dirNomen.DirNomenName,
                    DirNomenName =
                        dirNomensSubGroup.DirNomenName == null ? x.dirNomen.DirNomenName :
                        dirNomensGroup.DirNomenName == null ? dirNomensSubGroup.DirNomenName + " / " + x.dirNomen.DirNomenName :
                        dirNomensGroup.DirNomenName + " / " + dirNomensSubGroup.DirNomenName + " / " + x.dirNomen.DirNomenName,

                    RemPartyID      = remPartyMinuses.RemPartyID,
                    RemPartyMinusID = x.RemPartyMinusID,
                    Quantity        = -x.Quantity,
                    PriceVAT        = -x.PriceVAT,

                    DirCurrencyID           = x.DirCurrencyID,
                    DirCurrencyRate         = x.dirCurrency.DirCurrencyRate,
                    DirCurrencyMultiplicity = x.dirCurrency.DirCurrencyMultiplicity,
                    DirCurrencyName         = x.dirCurrency.DirCurrencyName + " (" + x.dirCurrency.DirCurrencyRate + ", " + x.dirCurrency.DirCurrencyMultiplicity + ")",

                    DirEmployeeName = x.docRetailReturn.doc.dirEmployee.DirEmployeeName,

                    //RemParty
                    Barcode      = "",    //x.Barcode,
                    SerialNumber = "",    //x.SerialNumber,

                    DirCharColourName   = remPartyMinuses.remParty.dirCharColour.DirCharColourName,
                    DirCharMaterialName = remPartyMinuses.remParty.dirCharMaterial.DirCharMaterialName,
                    DirCharNameName     = remPartyMinuses.remParty.dirCharName.DirCharNameName,
                    DirCharSeasonName   = remPartyMinuses.remParty.dirCharSeason.DirCharSeasonName,
                    DirCharSexName      = remPartyMinuses.remParty.dirCharSex.DirCharSexName,
                    DirCharSizeName     = remPartyMinuses.remParty.dirCharSize.DirCharSizeName,
                    DirCharStyleName    = remPartyMinuses.remParty.dirCharStyle.DirCharStyleName,
                    DirCharTextureName  = remPartyMinuses.remParty.dirCharTexture.DirCharTextureName,
                    DirChar             =
                        remPartyMinuses.remParty.dirCharColour.DirCharColourName + " " +
                        remPartyMinuses.remParty.dirCharMaterial.DirCharMaterialName + " " +
                        remPartyMinuses.remParty.dirCharName.DirCharNameName + " " +
                        remPartyMinuses.remParty.dirCharSeason.DirCharSeasonName + " " +
                        remPartyMinuses.remParty.dirCharSex.DirCharSexName + " " +
                        remPartyMinuses.remParty.dirCharSize.DirCharSizeName + " " +
                        remPartyMinuses.remParty.dirCharStyle.DirCharStyleName + " " +
                        remPartyMinuses.remParty.dirCharTexture.DirCharTextureName,


                    //Приходная цена
                    //PriceCurrencyPurch = 0.0, //x.remParty.PriceCurrency,


                    DirPaymentTypeID = x.docRetailReturn.doc.DirPaymentTypeID,
                    //Цена в т.в.
                    PriceCurrency = -x.PriceCurrency,
                    //Себестоимость
                    SUMSalePriceVATCurrency = x.Quantity * x.PriceCurrency - x.docRetailReturn.doc.Discount == null ? 0
                            : -Math.Round(x.Quantity * x.PriceCurrency - x.docRetailReturn.doc.Discount, sysSetting.FractionalPartInSum),


                    //Причина возврата
                    DirReturnTypeID   = x.DirReturnTypeID,
                    DirReturnTypeName = x.dirReturnType.DirReturnTypeName,

                    DirDescriptionID   = x.DirDescriptionID,
                    DirDescriptionName = x.dirDescription.DirDescriptionName,
                }

                        #endregion
                    );


                #endregion


                #region Сортировка

                query = query.OrderByDescending(x => x.DocDate);

                #endregion



                #region Отправка JSON

                dynamic collectionWrapper = new
                {
                    sucess       = true,
                    total        = query.Count(),
                    DocRetailTab = query
                };
                return(await Task.Run(() => Ok(collectionWrapper)));

                #endregion
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 38
0
        // GET: api/ListObjectFieldNames
        //1. List JSON
        public async Task <IHttpActionResult> GetListObjectFieldNames(HttpRequestMessage request)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)

                /*
                 * int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightListObjectFieldNames"));
                 * if (iRight == 3) return Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0)));
                 */

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion


                #region Параметры

                Params _params = new Params();

                //paramList -список параметров
                var paramList = request.GetQueryNameValuePairs();
                //Параметры
                _params.limit     = 999999;                                                                                           // sysSetting.PageSizeDir; //Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "limit", true) == 0).Value); //Записей на страницу
                _params.page      = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "page", true) == 0).Value); //Номер страницы
                _params.Skip      = _params.limit * (_params.page - 1);
                _params.type      = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "type", true) == 0).Value;
                _params.parSearch = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "parSearch", true) == 0).Value; if (_params.parSearch != null)
                {
                    _params.parSearch = _params.parSearch.ToLower();                                                                                                                                      //Поиск
                }
                _params.ListObjectID    = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "ListObjectID", true) == 0).Value);
                _params.ListObjectField = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "ListObjectField", true) == 0).Value;

                #endregion



                #region Основной запрос *** *** ***

                var query =
                    (
                        from x in db.ListObjectFieldNames
                        from y in db.ListObjectFields
                        where
                        x.ListObjectFieldNameID == y.ListObjectFieldNameID &&
                        y.ListObjectID == _params.ListObjectID
                        select new
                {
                    ListObjectFieldNameID = x.ListObjectFieldNameID,
                    ListObjectFieldNameRu = x.ListObjectFieldNameRu,
                    ListObjectFieldHeaderShow = y.ListObjectFieldHeaderShow,
                    ListObjectFieldTabShow = y.ListObjectFieldTabShow,
                    ListObjectFieldFooterShow = y.ListObjectFieldFooterShow,
                }
                    );

                switch (_params.ListObjectField)
                {
                case "ListObjectFieldHeaderShow":
                    query = query.Where(x => x.ListObjectFieldHeaderShow == true);
                    break;

                case "ListObjectFieldTabShow":
                    query = query.Where(x => x.ListObjectFieldTabShow == true);
                    break;

                case "ListObjectFieldFooterShow":
                    query = query.Where(x => x.ListObjectFieldFooterShow == true);
                    break;

                default:
                    query = query.Where(x => x.ListObjectFieldHeaderShow == false && x.ListObjectFieldTabShow == false && x.ListObjectFieldFooterShow == false);
                    break;
                }

                #endregion


                #region Условия (параметры) *** *** ***


                #region Поиск

                if (!String.IsNullOrEmpty(_params.parSearch))
                {
                    //Проверяем число ли это
                    Int32 iNumber32;
                    bool  bResult32 = Int32.TryParse(_params.parSearch, out iNumber32);


                    //Если число, то задействуем в поиске и числовые поля (_params.parSearch == iNumber)
                    if (bResult32)
                    {
                        query = query.Where(x => x.ListObjectFieldNameID == iNumber32 || x.ListObjectFieldNameRu.Contains(_params.parSearch));
                    }
                    else
                    {
                        query = query.Where(x => x.ListObjectFieldNameRu.Contains(_params.parSearch));
                    }
                }

                #endregion


                #region OrderBy и Лимит

                query = query.OrderBy(x => x.ListObjectFieldNameRu); //.Skip(_params.Skip).Take(_params.limit);

                #endregion


                #endregion


                #region JSON

                int dirCount = await Task.Run(() => query.CountAsync());

                dynamic collectionWrapper = new
                {
                    sucess = true,
                    total  = dirCount,
                    ListObjectFieldName = query
                };
                return(await Task.Run(() => Ok(collectionWrapper)));

                #endregion
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 39
0
 protected void ClearChatNameCookie()
 {
     if (Request.Cookies["ChatName"] != null)
     {
         System.Web.HttpCookie myCookie = new System.Web.HttpCookie("ChatName");
         myCookie.Expires = DateTime.Now.AddDays(-1);
         Response.Cookies.Add(myCookie);
     }
 }
Esempio n. 40
0
        public async Task <IHttpActionResult> GetDirServiceContractors(int pSearch, int iPriznak, HttpRequestMessage request)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)
                int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceContractors"));

                if (iRight == 3)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
                }

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion


                #region Параметры

                Params _params = new Params();

                //paramList -список параметров
                var paramList = request.GetQueryNameValuePairs();
                //Параметры
                _params.limit     = 999999;                                                                                           // sysSetting.PageSizeDir; //Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "limit", true) == 0).Value); //Записей на страницу
                _params.page      = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "page", true) == 0).Value); //Номер страницы
                _params.Skip      = _params.limit * (_params.page - 1);
                _params.type      = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "type", true) == 0).Value;
                _params.parSearch = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "parSearch", true) == 0).Value; if (_params.parSearch != null)
                {
                    _params.parSearch = _params.parSearch.ToLower();                                                                                                                                      //Поиск
                }
                #endregion



                #region Основной запрос *** *** ***

                var query =
                    (
                        from x in db.DirServiceContractors
                        select new
                {
                    DirServiceContractorID = x.DirServiceContractorID,
                    DirServiceContractorPhone = x.DirServiceContractorPhone,
                    PassportSeries = x.PassportSeries,
                    PassportNumber = x.PassportNumber,
                }
                    );

                #endregion


                #region Отправка JSON

                //К-во Номенклатуры
                int dirCount = await Task.Run(() => db.DirServiceContractors.Count());

                //А вдруг к-во меньше Лимита, тогда показать не общее к-во, а реальное!
                int dirCount2 = query.Count();
                //if (dirCount2 < _params.limit) dirCount = _params.limit * (_params.page - 1) + dirCount2;

                dynamic collectionWrapper = new
                {
                    sucess = true,
                    total  = dirCount,
                    DirServiceContractor = query
                };
                return(await Task.Run(() => Ok(collectionWrapper)));

                #endregion
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 41
0
        /// <summary>
        /// 쿠키 저장
        /// </summary>
        /// <param name="response">HttpResponse 개체. null이면 HttpContext.Current.Response 사용.</param>
        /// <param name="cookieName">쿠키 이름</param>
        /// <param name="value">쿠키 값. Base64 인코딩하여 저장된다.</param>
        /// <param name="expires">만료 일시. CookieUtil.BrowserCookie 값을 넘기면 브라우저 쿠키로 저장. 기본값 CookieUtil.BrowserCookie.</param>
        public static void Save(System.Web.HttpResponse response, string cookieName, string value, DateTime expires)
        {
            // 쿠키 생성
            System.Web.HttpCookie cookie = new System.Web.HttpCookie(cookieName);

            // 만료 설정
            if (expires == DateTime.MinValue)
            {
                // 브라우저 쿠키
            }
            else
            {
                cookie.Expires = expires;
            }

            // 값 설정: Base64 인코딩 (한글, 특수문자 등 제거)
            if (string.IsNullOrEmpty(value))
            {
                cookie.Value = value;
            }
            else
            {
                byte[] valueBytes = System.Text.Encoding.Default.GetBytes(value);
                cookie.Value = Convert.ToBase64String(valueBytes);
            }

            // 응답 검증
            if (response == null)
            {
                response = System.Web.HttpContext.Current.Response;
            }

            // 일단 제거
            Delete(response, cookieName);

            // 추가
            response.Cookies.Add(cookie);
        }
Esempio n. 42
0
        public async Task <IHttpActionResult> GetDirServiceJobNomen(int id, HttpRequestMessage request)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)
                int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceJobNomens"));

                if (iRight == 3)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
                }

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion


                #region Параметры

                Params _params = new Params();

                //paramList -список параметров
                var paramList = request.GetQueryNameValuePairs();
                //Параметры
                _params.parSearch = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "parSearch", true) == 0).Value; if (_params.parSearch != null)
                {
                    _params.parSearch = _params.parSearch.ToLower();                                                                                                                                      //Поиск
                }
                #endregion


                #region Отправка JSON

                var query = await Task.Run(() =>
                                           (

                                               from x in db.DirServiceJobNomens

                                               join dirServiceNomenCategories1 in db.DirServiceNomenCategories on x.DirServiceNomenCategoryID equals dirServiceNomenCategories1.DirServiceNomenCategoryID into dirServiceNomenCategories2
                                               from dirServiceNomenCategories in dirServiceNomenCategories2.DefaultIfEmpty()

                                               where x.DirServiceJobNomenID == id
                                               select x

                                               /*new
                                                * {
                                                *  //1. Оснавные === === === === === === === === === === ===
                                                *
                                                *  DirServiceJobNomenID = x.DirServiceJobNomenID,
                                                *  Sub = x.Sub,
                                                *  Del = x.Del,
                                                *  DirServiceJobNomenName = x.DirServiceJobNomenName,
                                                *  DirServiceJobNomenArticle = x.DirServiceJobNomenArticle,
                                                *
                                                *  DirNomenTypeID = x.DirNomenTypeID,
                                                *  DirNomenTypeName = x.dirNomenType.DirNomenTypeName,
                                                *
                                                *  DirServiceNomenCategoryID = x.DirServiceNomenCategoryID,
                                                *  DirServiceNomenCategoryName = dirServiceNomenCategories.DirServiceNomenCategoryName,
                                                *
                                                *  DirServiceJobNomenNameFull = x.DirServiceJobNomenNameFull,
                                                *  Description = x.Description,
                                                *  DescriptionFull = x.DescriptionFull,
                                                *  ImageLink = x.ImageLink,
                                                *
                                                *  DirCurrencyID = x.DirCurrencyID,
                                                *  PriceIMVAT = x.PriceIMVAT,
                                                *  PriceRetailVAT = x.PriceRetailVAT,
                                                *  PriceWholesaleVAT = x.PriceWholesaleVAT
                                                * }
                                                */

                                           ).ToListAsync());


                if (query.Count() > 0)
                {
                    return(Ok(returnServer.Return(true, query[0])));
                }
                else
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg89)));
                }

                //return Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg89));

                #endregion
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 43
0
        /// <summary>
        /// 会员登陆
        /// </summary>
        /// <param name="UserName">账号</param>
        /// <param name="Password">密码</param>
        /// <param name="CookieDay">过期时间(天)</param>
        /// <returns></returns>
        public Result UserLogin(string UserName, string Password, int CookieDay)
        {
            Result r = new Result();
            UserName = UserName.TrimDbDangerousChar();
            Password = Password.TrimDbDangerousChar();
            if (UserName.IsNullOrEmpty())
            {
                r.Success = false;
                r.Text = "账号不能为空!";
                return r;
            }
            if (Password.IsNullOrEmpty())
            {
                r.Success = false;
                r.Text = "密码不能为空!";
                return r;
            }

            //User _user = UserView.Find(string.Format("UserName='******'", UserName));

            using (DataEntities ent = new DataEntities())
            {
                var users = (from l in ent.User where l.UserName == UserName select l).ToList();
                if (users.Count > 0)
                {
                    User _user = users.FirstOrDefault();
                    if (_user.UserPass == Voodoo.Security.Encrypt.Md5(Password))
                    {

                        if (_user.Enable == false)
                        {
                            r.Success = false;
                            r.Text = "您的帐号还没有经过审核,请耐心等待审核通过后登录";
                            return r;
                        }

                        //成功!

                        LogOut();
                        //写入Cookie
                        System.Web.HttpCookie cookie = Cookies.Cookies.GetCookie("User");
                        if (cookie != null)
                        {
                            cookie.Values.Clear();
                        }
                        else
                        {
                            cookie = new System.Web.HttpCookie("User");
                        }

                        cookie.Expires = DateTime.Now.AddDays(CookieDay);
                        cookie.Values.Add("uid", _user.ID.ToString());
                        cookie.Values.Add("k", Voodoo.Security.Encrypt.Md5(string.Format("{0}{1}{2}",
                            _user.ID,
                            _user.UserName,
                            _user.UserPass,
                            BasePage.SystemSetting.SiteName
                            )));
                        Cookies.Cookies.SetCookie(cookie);

                        _user.LastLoginIP = WS.GetIP();
                        _user.LastLoginTime = DateTime.Now;
                        _user.LoginCount += 1;
                        ent.SaveChanges();

                        r.Success = true;
                        r.Text = "登陆成功!";
                        return r;
                    }
                }

                r.Success = false;
                r.Text = "您输入的账号或密码错误";
                return r;
            }
        }
Esempio n. 44
0
        // GET: api/DirServiceContractors
        public async Task <IHttpActionResult> GetDirServiceContractors(HttpRequestMessage request)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)
                //int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceContractors"));
                //if (iRight == 3) return Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0)));

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion


                #region Параметры

                Params _params = new Params();

                //paramList -список параметров
                var paramList = request.GetQueryNameValuePairs();
                //Параметры
                _params.limit     = 999999;                                                                                           // sysSetting.PageSizeDir; //Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "limit", true) == 0).Value); //Записей на страницу
                _params.page      = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "page", true) == 0).Value); //Номер страницы
                _params.Skip      = _params.limit * (_params.page - 1);
                _params.type      = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "type", true) == 0).Value;
                _params.parSearch = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "parSearch", true) == 0).Value; if (_params.parSearch != null)
                {
                    _params.parSearch = _params.parSearch.ToLower();                                                                                                                                      //Поиск
                }
                #endregion


                if (_params.type == "Grid")
                {
                    #region Основной запрос *** *** ***

                    var query =
                        (
                            from x in db.DirServiceContractors
                            select new
                    {
                        DirServiceContractorID = x.DirServiceContractorID,
                        DirServiceContractorName = x.DirServiceContractorName,
                        DirServiceContractorAddress = x.DirServiceContractorAddress,
                        DirServiceContractorPhone = x.DirServiceContractorPhone,
                        //DirServiceContractorEmail = x.DirServiceContractorEmail
                    }
                        );

                    #endregion


                    #region Условия (параметры) *** *** ***

                    #region Не показывать удалённые

                    /*if (!Convert.ToBoolean(sysSetting.DeletedRecordsShow))
                     * {
                     *  query = query.Where(x => x.Del == sysSetting.DeletedRecordsShow);
                     * }*/

                    #endregion


                    #region Поиск

                    if (!String.IsNullOrEmpty(_params.parSearch))
                    {
                        //Проверяем число ли это
                        Int32 iNumber32;
                        bool  bResult32 = Int32.TryParse(_params.parSearch, out iNumber32);


                        //Если число, то задействуем в поиске и числовые поля (_params.parSearch == iNumber)
                        if (bResult32)
                        {
                            query = query.Where(x => x.DirServiceContractorID == iNumber32 || x.DirServiceContractorName.Contains(_params.parSearch));
                        }
                        else
                        {
                            query = query.Where(x => x.DirServiceContractorName.Contains(_params.parSearch));
                        }
                    }

                    #endregion


                    #region OrderBy и Лимит

                    query = query.OrderBy(x => x.DirServiceContractorName).Skip(_params.Skip).Take(_params.limit);

                    #endregion


                    #endregion


                    #region Отправка JSON

                    //К-во Номенклатуры
                    int dirCount = await Task.Run(() => db.DirServiceContractors.Count());

                    //А вдруг к-во меньше Лимита, тогда показать не общее к-во, а реальное!
                    int dirCount2 = query.Count();
                    //if (dirCount2 < _params.limit) dirCount = _params.limit * (_params.page - 1) + dirCount2;

                    dynamic collectionWrapper = new
                    {
                        sucess = true,
                        total  = dirCount,
                        DirServiceContractor = query
                    };
                    return(await Task.Run(() => Ok(collectionWrapper)));

                    #endregion
                }
                else //Tree
                {
                    #region Отобразить только "Руты" *** *** ***

                    var query =
                        (
                            from x in db.DirServiceContractors
                            select new
                    {
                        id = x.DirServiceContractorID,
                        text = x.DirServiceContractorName,
                        leaf = true
                    }
                        );

                    #endregion


                    #region Отправка JSON

                    //return Ok(await Task.Run(() => query));

                    dynamic collectionWrapper = new
                    {
                        query
                    };
                    return(Ok(await Task.Run(() => collectionWrapper)));

                    #endregion
                }
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 45
0
        /// <summary>
        /// Determine the logical page being requested by evaluating the routedata, or querystring and
        /// then loading the appropriate layout (ASPX) page
        /// </summary>
        /// <param name="requestContext"></param>
        /// <returns></returns>
        System.Web.IHttpHandler IRouteHandler.GetHttpHandler( RequestContext requestContext )
        {
            if ( requestContext == null )
            {
                throw new ArgumentNullException( "requestContext" );
            }

            try
            {
                var siteCookie = requestContext.HttpContext.Request.Cookies["last_site"];

                string pageId = "";
                int routeId = 0;

                var parms = new Dictionary<string, string>();

                // Pages using the default routing URL will have the page id in the RouteData.Values collection
                if ( requestContext.RouteData.Values["PageId"] != null )
                {
                    pageId = (string)requestContext.RouteData.Values["PageId"];
                }

                // Pages that use a custom URL route will have the page id in the RouteDate.DataTokens collection
                else if ( requestContext.RouteData.DataTokens["PageRoutes"] != null )
                {
                    var pageAndRouteIds = requestContext.RouteData.DataTokens["PageRoutes"] as List<PageAndRouteId>;
                    if ( pageAndRouteIds != null && pageAndRouteIds.Count > 0 )
                    {
                        // Default to first site/page
                        if ( pageAndRouteIds.Count >= 1 )
                        {
                            var pageAndRouteId = pageAndRouteIds.First();
                            pageId = pageAndRouteId.PageId.ToJson();
                            routeId = pageAndRouteId.RouteId;
                        }

                        // Then check to see if any can be matched by site
                        if ( pageAndRouteIds.Count > 1 )
                        {
                            SiteCache site = SiteCache.GetSiteByDomain( requestContext.HttpContext.Request.Url.Host );
                            if ( site == null )
                            {
                                // Use last site
                                if ( siteCookie != null && siteCookie.Value != null )
                                {
                                    site = SiteCache.Read( siteCookie.Value.AsInteger() );
                                }
                            }

                            if ( site != null )
                            {
                                foreach ( var pageAndRouteId in pageAndRouteIds )
                                {
                                    var pageCache = PageCache.Read( pageAndRouteId.PageId );
                                    if ( pageCache != null && pageCache.Layout != null && pageCache.Layout.SiteId == site.Id )
                                    {
                                        pageId = pageAndRouteId.PageId.ToJson();
                                        routeId = pageAndRouteId.RouteId;
                                        break;
                                    }
                                }
                            }
                        }
                    }

                    foreach ( var routeParm in requestContext.RouteData.Values )
                    {
                        parms.Add( routeParm.Key, (string)routeParm.Value );
                    }
                }

                // If page has not been specified get the site by the domain and use the site's default page
                if ( string.IsNullOrEmpty( pageId ) )
                {
                    SiteCache site = SiteCache.GetSiteByDomain( requestContext.HttpContext.Request.Url.Host );
                    if ( site == null )
                    {
                        // Use last site
                        if ( siteCookie != null && siteCookie.Value != null )
                        {
                            site = SiteCache.Read( siteCookie.Value.AsInteger() );
                        }
                    }

                    // if not found use the default site
                    if ( site == null )
                    {
                        site = SiteCache.Read( SystemGuid.Site.SITE_ROCK_INTERNAL.AsGuid() );
                    }

                    if ( site != null )
                    {
                        // If site has has been enabled for mobile redirect, then we'll need to check what type of device is being used
                        if ( site.EnableMobileRedirect )
                        {
                            bool redirect = false;

                            // get the device type
                            string u = requestContext.HttpContext.Request.UserAgent;

                            var clientType = PageViewUserAgent.GetClientType( u );

                            // first check if device is a mobile device
                            if ( clientType == "Mobile" )
                            {
                                redirect = true;
                            }

                            // if not, mobile device and tables should be redirected also, check if device is a tablet
                            if ( !redirect && site.RedirectTablets )
                            {
                                if ( clientType == "Tablet" )
                                {
                                    redirect = true;
                                }
                            }

                            if ( redirect )
                            {
                                if ( site.MobilePageId.HasValue )
                                {
                                    pageId = site.MobilePageId.Value.ToString();
                                }
                                else if ( !string.IsNullOrWhiteSpace( site.ExternalUrl ) )
                                {
                                    requestContext.HttpContext.Response.Redirect( site.ExternalUrl );
                                    return null;
                                }
                            }
                        }

                        if ( string.IsNullOrWhiteSpace( pageId ) )
                        {
                            if ( site.DefaultPageId.HasValue )
                            {
                                pageId = site.DefaultPageId.Value.ToString();
                            }

                            if ( site.DefaultPageRouteId.HasValue )
                            {
                                routeId = site.DefaultPageRouteId.Value;
                            }
                        }
                    }

                    if ( string.IsNullOrEmpty( pageId ) )
                    {
                        throw new SystemException( "Invalid Site Configuration" );
                    }
                }

                PageCache page = null;

                if ( !string.IsNullOrEmpty( pageId ) )
                {
                    int pageIdNumber = 0;
                    if ( Int32.TryParse( pageId, out pageIdNumber ) )
                    {
                        page = PageCache.Read( pageIdNumber );
                    }
                }

                if ( page == null )
                {
                    // try to get site's 404 page
                    SiteCache site = SiteCache.GetSiteByDomain( requestContext.HttpContext.Request.Url.Host );
                    if ( site == null )
                    {
                        // Use last site
                        if ( siteCookie != null && siteCookie.Value != null )
                        {
                            site = SiteCache.Read( siteCookie.Value.AsInteger() );
                        }
                    }

                    if ( site != null && site.PageNotFoundPageId != null )
                    {
                        if ( Convert.ToBoolean( GlobalAttributesCache.Read().GetValue( "Log404AsException" ) ) )
                        {
                            Rock.Model.ExceptionLogService.LogException(
                                new Exception( string.Format( "404 Error: {0}", requestContext.HttpContext.Request.Url.AbsoluteUri ) ),
                                requestContext.HttpContext.ApplicationInstance.Context );
                        }

                        page = PageCache.Read( site.PageNotFoundPageId ?? 0 );
                    }
                    else
                    {
                        // no 404 page found for the site, return the default 404 error page
                        return (System.Web.UI.Page)BuildManager.CreateInstanceFromVirtualPath( "~/Http404Error.aspx", typeof( System.Web.UI.Page ) );
                    }

                }

                string theme = page.Layout.Site.Theme;
                string layout = page.Layout.FileName;
                string layoutPath = PageCache.FormatPath( theme, layout );

                if ( siteCookie == null )
                {
                    siteCookie = new System.Web.HttpCookie( "last_site", page.Layout.SiteId.ToString() );
                }
                else
                {
                    siteCookie.Value = page.Layout.SiteId.ToString();
                }
                requestContext.HttpContext.Response.SetCookie( siteCookie );

                try
                {
                    // Return the page for the selected theme and layout
                    Rock.Web.UI.RockPage cmsPage = (Rock.Web.UI.RockPage)BuildManager.CreateInstanceFromVirtualPath( layoutPath, typeof( Rock.Web.UI.RockPage ) );
                    cmsPage.SetPage( page );
                    cmsPage.PageReference = new PageReference( page.Id, routeId, parms, requestContext.HttpContext.Request.QueryString );
                    return cmsPage;
                }
                catch ( System.Web.HttpException )
                {
                    // The Selected theme and/or layout didn't exist, attempt first to use the layout in the default theme.
                    theme = "Rock";

                    // If not using the default layout, verify that Layout exists in the default theme directory
                    if ( layout != "FullWidth" &&
                        !File.Exists( requestContext.HttpContext.Server.MapPath( string.Format( "~/Themes/Rock/Layouts/{0}.aspx", layout ) ) ) )
                    {
                        // If selected layout doesn't exist in the default theme, switch to the Default layout
                        layout = "FullWidth";
                    }

                    // Build the path to the aspx file to
                    layoutPath = PageCache.FormatPath( theme, layout );

                    // Return the default layout and/or theme
                    Rock.Web.UI.RockPage cmsPage = (Rock.Web.UI.RockPage)BuildManager.CreateInstanceFromVirtualPath( layoutPath, typeof( Rock.Web.UI.RockPage ) );
                    cmsPage.SetPage( page );
                    cmsPage.PageReference = new PageReference( page.Id, routeId, parms, requestContext.HttpContext.Request.QueryString );
                    return cmsPage;
                }
            }
            catch (Exception ex)
            {
                if ( requestContext.HttpContext != null )
                {
                    requestContext.HttpContext.Cache["RockExceptionOrder"] = "66";
                    requestContext.HttpContext.Cache["RockLastException"] = ex;
                }

                System.Web.UI.Page errorPage = (System.Web.UI.Page)BuildManager.CreateInstanceFromVirtualPath( "~/Error.aspx", typeof( System.Web.UI.Page ) );
                return errorPage;
            }
        }
Esempio n. 46
0
        public async Task <IHttpActionResult> PostDirServiceContractor(DirServiceContractor dirServiceContractor)
        {
            #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

            //Получаем Куку
            System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

            // Проверяем Логин и Пароль
            Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

            if (!field.Access)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
            }

            //Изменяем строку соединения
            db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

            //Права (1 - Write, 2 - Read, 3 - No Access)
            int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceContractors"));

            if (iRight != 1)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
            }

            //Разные Функции
            function.NumberDecimalSeparator();

            //Получам настройки
            Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

            #endregion

            #region Проверки

            if (!ModelState.IsValid)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg91)));                     //return BadRequest(ModelState);
            }
            //Подстановки - некоторые поля надо заполнить, если они не заполены
            dirServiceContractor.Substitute();

            #endregion


            #region Сохранение

            try
            {
                //Используем метод, что бы было всё в одном потоке
                db.Entry(dirServiceContractor).State = EntityState.Added;
                await Task.Run(() => db.SaveChangesAsync());


                #region 6. JourDisp *** *** *** *** *** *** *** *** *** *

                Models.Sklad.Sys.SysJourDisp sysJourDisp = new Models.Sklad.Sys.SysJourDisp();
                sysJourDisp.DirDispOperationID = 3; //Добавление записи
                sysJourDisp.DirEmployeeID      = field.DirEmployeeID;
                sysJourDisp.ListObjectID       = ListObjectID;
                sysJourDisp.TableFieldID       = dirServiceContractor.DirServiceContractorID;
                sysJourDisp.Description        = "";
                try { sysJourDispsController.mPutPostSysJourDisps(db, sysJourDisp, EntityState.Added); } catch (Exception ex) { }

                #endregion


                dynamic collectionWrapper = new
                {
                    ID = dirServiceContractor.DirServiceContractorID
                };
                return(Ok(returnServer.Return(true, collectionWrapper))); //return Ok(returnServer.Return(true, ""));
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }

            #endregion
        }
Esempio n. 47
0
        protected override void ShowPage()
        {
            pagetitle = "用户退出";
            username = "******";
            int uid = userid;
            userid = -2;
            StringBuilder script = new StringBuilder();
            script.Append("if (top.document.getElementById('leftmenu')){");
            script.Append("		top.frames['leftmenu'].location.reload();");
            script.Append("}");

            base.AddScript(script.ToString());

            string referer = DNTRequest.GetQueryString("reurl");
            if (!DNTRequest.IsPost() || referer != "")
            {
                string r = "";
                if (referer != "")
                {
                    r = referer;
                }
                else
                {
                    if ((DNTRequest.GetUrlReferrer() == "") || (DNTRequest.GetUrlReferrer().IndexOf("login") > -1) ||
                        DNTRequest.GetUrlReferrer().IndexOf("logout") > -1)
                    {
                        r = "index.aspx";
                    }
                    else
                    {
                        r = DNTRequest.GetUrlReferrer();
                    }
                }
                Utils.WriteCookie("reurl", (referer == "" || referer.IndexOf("login.aspx") > -1) ? r : referer);
            }


            SetUrl(Utils.UrlDecode(ForumUtils.GetReUrl()));
            
            SetMetaRefresh();
            SetShowBackLink(false);
            if (DNTRequest.GetString("userkey") == userkey || IsApplicationLogout())
            {
                AddMsgLine("已经清除了您的登录信息, 稍后您将以游客身份返回首页");
                //Users.UpdateOnlineTime(uid);
                OnlineUsers.DeleteRows(olid);
                ForumUtils.ClearUserCookie();
                Utils.WriteCookie(Utils.GetTemplateCookieName(), "", -999999);

                System.Web.HttpCookie cookie = new System.Web.HttpCookie("dntadmin");
                System.Web.HttpContext.Current.Response.AppendCookie(cookie);

                //System.Web.Security.FormsAuthentication.SignOut();

            }
            else
            {
                AddMsgLine("无法确定您的身份, 稍后返回首页");
            }

            Discuz.Forum.Users.RemoveUserIDFromCookie();
        }
Esempio n. 48
0
        public async Task <IHttpActionResult> DeleteDirServiceContractor(int id)
        {
            #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

            //Получаем Куку
            System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

            // Проверяем Логин и Пароль
            Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

            if (!field.Access)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
            }

            //Изменяем строку соединения
            db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

            //Права (1 - Write, 2 - Read, 3 - No Access)
            int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceContractors"));

            if (iRight != 1)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
            }

            //Разные Функции
            function.NumberDecimalSeparator();

            //Получам настройки
            Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

            #endregion

            #region Удаление

            try
            {
                DirServiceContractor dirServiceContractor = await db.DirServiceContractors.FindAsync(id);

                if (dirServiceContractor == null)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg99)));
                }


                db.DirServiceContractors.Remove(dirServiceContractor);
                await db.SaveChangesAsync();


                #region 6. JourDisp *** *** *** *** *** *** *** *** *** *

                Models.Sklad.Sys.SysJourDisp sysJourDisp = new Models.Sklad.Sys.SysJourDisp();
                sysJourDisp.DirDispOperationID = 5; //Удаление записи
                sysJourDisp.DirEmployeeID      = field.DirEmployeeID;
                sysJourDisp.ListObjectID       = ListObjectID;
                sysJourDisp.TableFieldID       = dirServiceContractor.DirServiceContractorID;
                sysJourDisp.Description        = "";
                try { sysJourDispsController.mPutPostSysJourDisps(db, sysJourDisp, EntityState.Added); } catch (Exception ex) { }

                #endregion


                dynamic collectionWrapper = new
                {
                    ID  = dirServiceContractor.DirServiceContractorID,
                    Msg = Classes.Language.Sklad.Language.msg19
                };
                return(Ok(returnServer.Return(true, collectionWrapper))); //return Ok(returnServer.Return(true, "")
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }

            #endregion
        }
        private void AuthUser(TokenViewModel token)
        {
            var ticket = new FormsAuthenticationTicket
            (
            1,
            token.LoginAD,
            DateTime.Now,
            DateTime.Now.AddMinutes(Convert.ToInt32(FormsAuthentication.Timeout.TotalMinutes)),
            true,
            token.LoginAD,
            FormsAuthentication.FormsCookiePath
            );

            var cookie = new System.Web.HttpCookie(
                FormsAuthentication.FormsCookieName,
                FormsAuthentication.Encrypt(ticket)
                )
            {
                HttpOnly = true
            };

            Response.Cookies.Add(cookie);

            TokenAcesso = token;
        }
Esempio n. 50
0
        public static MemberInfo GetAnonymousMember(string adminType = "normal")
        {
            /*
             * MemberInfo anonymousMember =GetMemberByUserName("[匿名用户]");
             * if (anonymousMember != null && anonymousMember.OpenId == null)//如果查得到匿名用户,则返回
             * {
             *  return anonymousMember;
             * }
             * else//否则增加一个匿名用户
             * {
             *  anonymousMember = new MemberInfo
             *  {
             *      UserName="******",
             *      RealName="[匿名用户]",
             *      Password="******",
             *  };
             *  if (CreateMember(anonymousMember))
             *  {
             *      anonymousMember = GetMemberByUserName("[匿名用户]");
             *  }
             * }
             * return anonymousMember;
             */

            MemberInfo anonymousMember = new MemberInfo();

            if (adminType == "admin")
            {
                anonymousMember = MemberProcessor.GetusernameMember("[堂食用户]");
                if (anonymousMember == null)//如果没有匿名用户,新建一个
                {
                    MemberInfo member     = new MemberInfo();
                    string     generateId = Globals.GetGenerateId();
                    member.GradeId        = MemberProcessor.GetDefaultMemberGrade();
                    member.UserName       = "******";
                    member.RealName       = "[堂食用户]";
                    member.CreateDate     = System.DateTime.Now;
                    member.SessionId      = generateId;
                    member.SessionEndTime = System.DateTime.Now.AddYears(10);
                    member.Password       = HiCryptographer.Md5Encrypt("yihuikeji888");
                    MemberProcessor.CreateMember(member);
                    anonymousMember = MemberProcessor.GetMember(generateId);
                }
            }
            else if (adminType == "activity")
            {
                anonymousMember = MemberProcessor.GetusernameMember("[活动用户]");
                if (anonymousMember == null)//如果没有活动用户,新建一个
                {
                    MemberInfo member     = new MemberInfo();
                    string     generateId = Globals.GetGenerateId();
                    member.GradeId        = MemberProcessor.GetDefaultMemberGrade();
                    member.UserName       = "******";
                    member.RealName       = "[活动用户]";
                    member.CreateDate     = System.DateTime.Now;
                    member.SessionId      = generateId;
                    member.SessionEndTime = System.DateTime.Now.AddYears(10);
                    member.Password       = HiCryptographer.Md5Encrypt("yihuikeji888");
                    MemberProcessor.CreateMember(member);
                    anonymousMember = MemberProcessor.GetMember(generateId);
                }
            }

            if (System.Web.HttpContext.Current.Request.Cookies["Vshop-Member"] != null)
            {
                System.Web.HttpContext.Current.Response.Cookies["Vshop-Member"].Expires = System.DateTime.Now.AddDays(-1.0);
                System.Web.HttpCookie cookie = new System.Web.HttpCookie("Vshop-Member")
                {
                    Value   = anonymousMember.UserId.ToString(),
                    Expires = System.DateTime.Now.AddYears(10)
                };
                System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
            }
            else
            {
                System.Web.HttpCookie cookie2 = new System.Web.HttpCookie("Vshop-Member")
                {
                    Value   = anonymousMember.UserId.ToString(),
                    Expires = System.DateTime.Now.AddYears(10)
                };
                System.Web.HttpContext.Current.Response.Cookies.Add(cookie2);
            }
            return(anonymousMember);
        }
Esempio n. 51
0
        public async Task <IHttpActionResult> PutDirNomen(int id, DirNomen dirNomen, HttpRequestMessage request) //DirNomen dirNomen
        {
            #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

            //Получаем Куку
            System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

            // Проверяем Логин и Пароль
            Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

            if (!field.Access)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
            }

            //Изменяем строку соединения
            db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

            //Права (1 - Write, 2 - Read, 3 - No Access)
            int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirNomens"));

            if (iRight != 1)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
            }

            //Разные Функции
            function.NumberDecimalSeparator();

            //Получам настройки
            Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

            #endregion


            try
            {
                //Получаем "GenID"
                PartionnyAccount.Classes.Function.GenGenerate genGenerate = new Classes.Function.GenGenerate();
                string GenID = await genGenerate.ReturnGenID(db);

                //Для получения параметров и сохранение файла изображения
                string root = System.Web.HttpContext.Current.Server.MapPath("~/Users/user_" + field.DirCustomersID + "/").ToString();

                string FileNameY = @"/" + GenID + ".jpg"; //Используется при сохранениее


                byte[] bytes = Convert.FromBase64String(dirNomen.photoWebCam);
                System.Drawing.Image image;
                using (MemoryStream ms = new MemoryStream(bytes)) image = System.Drawing.Image.FromStream(ms);
                image.Save(root + FileNameY, System.Drawing.Imaging.ImageFormat.Jpeg);

                //Проверяем размер, если больше 150КБ, Удаляем и Эксепшен
                var fileLength = new FileInfo(root + FileNameY).Length;
                if (fileLength / 1024 > 150)
                {
                    File.Delete(root + FileNameY);
                    throw new System.InvalidOperationException("Превышен размер изображения! максимальный 150КБ.");
                }



                #region Сохранение

                dynamic collectionWrapper = new
                {
                    SysGenID      = GenID,
                    SysGenIDPatch = "/Users/user_" + field.DirCustomersID + "/" + FileNameY
                };
                return(Ok(returnServer.Return(true, collectionWrapper)));

                #endregion
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
 public Boolean ExportToRtf(String clientFileName, System.Web.HttpResponse webResponse, System.Web.HttpCookie cookie)
 {
     //ToDo
     return(true);
 }
Esempio n. 53
0
            /// <summary>
            /// Logs out the logged in user.
            /// </summary>
            public override void LogoutUser()
            {

                if ((User != null) && (m_parent != null))
                {
                    // Abandon the session so all of the session data is removed upon refresh.
                    m_parent.Session.Abandon();

                    // Delete the session cookie for "single-signon" purposes if one is created.
                    if (m_parent.Request.Cookies[CredentialCookie] != null)
                    {
                        System.Web.HttpCookie cookie = new System.Web.HttpCookie(CredentialCookie);
                        cookie.Expires = System.DateTime.Now.AddDays(-1);
                        m_parent.Response.Cookies.Add(cookie);
                    }

                    m_parent.Response.Redirect(m_parent.Request.Url.PathAndQuery); // Refresh.
                }

            }
Esempio n. 54
0
        public iTextSharp5.text.Document GetErrorDocument(DTO_Template template, Boolean openCloseConnection, Boolean addContentDisposition, String fileName, System.Web.HttpResponse webResponse, System.Web.HttpCookie cookie)
        {
            if (template == null)
            {
                template = new DTO_Template();
            }

            _template = template;
            return(GetErrorDocument(openCloseConnection, addContentDisposition, fileName, webResponse, cookie));
        }
Esempio n. 55
0
        public async Task <IHttpActionResult> GetDirContractor(int id, HttpRequestMessage request)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)
                int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirContractors"));

                if (iRight == 3)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
                }

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion


                #region Параметры

                Params _params = new Params();

                //paramList -список параметров
                var paramList = request.GetQueryNameValuePairs();
                //Параметры
                _params.parSearch = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "parSearch", true) == 0).Value; if (_params.parSearch != null)
                {
                    _params.parSearch = _params.parSearch.ToLower();                                                                                                                                      //Поиск
                }
                //Пришли за "Градационной Скидкой"
                _params.Discount = Convert.ToInt32(paramList.FirstOrDefault(kv => string.Compare(kv.Key, "Discount", true) == 0).Value);   //Номер страницы

                #endregion

                if (_params.Discount == 0)
                {
                    #region Отправка JSON

                    var query = await Task.Run(() =>
                                               (

                                                   from x in db.DirContractors

                                                   join dirDiscounts1 in db.DirDiscounts on x.DirDiscountID equals dirDiscounts1.DirDiscountID into dirDiscounts2
                                                   from dirDiscounts in dirDiscounts2.DefaultIfEmpty()

                                                   join dirBanks1 in db.DirBanks on x.DirBankID equals dirBanks1.DirBankID into dirBanks2
                                                   from dirBanks in dirBanks2.DefaultIfEmpty()

                                                   where x.DirContractorID == id
                                                   select new
                    {
                        DirContractorID = x.DirContractorID,
                        Del = x.Del,
                        DirContractorName = x.DirContractorName,
                        NameLower = x.NameLower,
                        DirContractorAddress = x.DirContractorAddress,

                        DirContractor1TypeID = x.DirContractor1TypeID,
                        DirContractor1TypeName = x.dirContractor1Type.DirContractor1TypeName,

                        DirContractor2TypeID = x.DirContractor2TypeID,
                        DirContractor2TypeName = x.dirContractor2Type.DirContractor2TypeName,

                        DirContractorPhone = x.DirContractorPhone,
                        DirContractorFax = x.DirContractorFax,
                        DirContractorEmail = x.DirContractorEmail,
                        DirContractorWWW = x.DirContractorWWW,

                        DirContractorDiscount = x.DirContractorDiscount,

                        DirDiscountID = x.DirDiscountID,
                        DirDiscountName = dirDiscounts.DirDiscountName,

                        DirBankID = x.DirBankID,
                        DirBankName = dirBanks.DirBankName,

                        DirContractorDesc = x.DirContractorDesc,
                        ImageLink = x.ImageLink,
                        DirBankAccountName = x.DirBankAccountName
                    }

                                               ).ToListAsync());


                    if (query.Count() > 0)
                    {
                        return(Ok(returnServer.Return(true, query[0])));
                    }
                    else
                    {
                        return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg89)));
                    }

                    //return Ok(returnServer.Return(false, Classes.Language.Language.msg89));

                    #endregion
                }
                else
                {
                    #region Отправка JSON

                    Models.Sklad.Dir.DirContractor dirContractor = await db.DirContractors.FindAsync(id);

                    int    iDirDiscountID = Convert.ToInt32(dirContractor.DirDiscountID);
                    double dSalesSum      = dirContractor.SalesSum;

                    var query = await Task.Run(() =>
                                               (
                                                   from x in db.DirDiscountTabs
                                                   where x.DirDiscountID == iDirDiscountID && dSalesSum < x.SumBegin
                                                   select new
                    {
                        Discount = x.Discount == null ? 0 : x.Discount
                    }
                                               ).MaxAsync(x => x.Discount));


                    dynamic collectionWrapper = new
                    {
                        sucess = true,
                        DirContractorDiscount = query
                    };
                    return(await Task.Run(() => Ok(collectionWrapper)));

                    #endregion
                }
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 56
0
        public Boolean ExportToPdf(DTO_Template template, Boolean forWebDownload, String webFileName, Boolean saveToFile, String storeFileName, Boolean openCloseConnection, System.Web.HttpResponse webResponse, System.Web.HttpCookie cookie)
        {
            //DTO_Settings Sett1 = (DTO_Settings)template.Settings.Clone();
            //DTO_Settings Sett2 = (DTO_Settings)template.Settings.Clone();

            Boolean response = false;

            iTextSharp5.text.Document doc = null;
            _template = template;
            if (forWebDownload)
            {
                //doc = WebExport(openCloseConnection, webFileName, template.Settings, webResponse, cookie, template.Signatures);
                doc = WebExport(openCloseConnection, webFileName, template.Settings, webResponse, cookie, template.Signatures, "");
                if (doc == null)
                {
                    GetErrorDocument(openCloseConnection, false, webFileName, webResponse, cookie, template.Settings, template.Signatures);
                    return(false);
                }
                else if (saveToFile && !String.IsNullOrEmpty(storeFileName))
                {
                    //SavePDFtoFile(storeFileName, template.Settings, template.Signatures);
                    SavePDFtoFile(storeFileName, template.Settings, template.Signatures);
                }
            }
            else if (saveToFile && !String.IsNullOrEmpty(storeFileName))
            {
                doc = SavePDFtoFile(storeFileName, template.Settings, template.Signatures);
            }
            if (!response)
            {
                response = (doc != null);
            }
            return(response);
        }
Esempio n. 57
0
        /// <summary>
        /// Gets the cart for the current User
        /// </summary>
        /// <returns></returns>
        public CarrinhoModel GetCurrentCart()
        {
            CarrinhoModel carrinho;
            Guid cookieCarrinhoGuid = Guid.NewGuid();

            if (Request.IsAuthenticated)
            {
                //get current logged cart
                cookieCarrinhoGuid = FormsAuthenticationUtil.UserAuthenticated.CookieCarrinho;
            }
            else
            {
                //get guid from cookie
                var cookie = Request.Cookies[_cookieCartKey];
                if (cookie != null)
                {
                    cookieCarrinhoGuid = new Guid(cookie.Value);
                }
                else
                {
                    new CarrinhoService().CreateCart(cookieCarrinhoGuid);
                    //set cookie
                    cookie = new System.Web.HttpCookie(_cookieCartKey);
                    cookie.Value = cookieCarrinhoGuid.ToString();
                    System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
                }
            }
            carrinho = new CarrinhoService().GetCartByCookie(cookieCarrinhoGuid, GetCurrentIdIdioma());

            //create a new cart if there is no cart
            if (carrinho == null)
            {
                if (Request.IsAuthenticated)
                {
                    if (FormsAuthenticationUtil.UserAuthenticated != null
                        && FormsAuthenticationUtil.UserAuthenticated.IdCliente.HasValue
                        && FormsAuthenticationUtil.UserAuthenticated.IdCliente > 0)
                    {
                        new CarrinhoService().CreateCart(cookieCarrinhoGuid, FormsAuthenticationUtil.UserAuthenticated.IdCliente.Value);
                    }
                }
                else
                {
                    new CarrinhoService().CreateCart(cookieCarrinhoGuid);
                }
                carrinho = new CarrinhoService().GetCartByCookie(cookieCarrinhoGuid, GetCurrentIdIdioma()) ?? new CarrinhoModel();
                if (carrinho.Items == null) carrinho.Items = new BindingList<CarrinhoItemModel>();
            }
            foreach (var item in carrinho.Items)
            {
                item.Produto = new ProdutoService().UpdatePrice(item.Produto, GetTipoPerfil());
            }

            return carrinho;
        }
Esempio n. 58
0
        /// <summary>
        /// Determine the logical page being requested by evaluating the routedata, or querystring and
        /// then loading the appropriate layout (ASPX) page
        /// </summary>
        /// <param name="requestContext"></param>
        /// <returns></returns>
        System.Web.IHttpHandler IRouteHandler.GetHttpHandler(RequestContext requestContext)
        {
            if (requestContext == null)
            {
                throw new ArgumentNullException("requestContext");
            }

            try
            {
                var siteCookie = requestContext.HttpContext.Request.Cookies["last_site"];

                string pageId  = "";
                int    routeId = 0;

                var parms = new Dictionary <string, string>();

                // Pages using the default routing URL will have the page id in the RouteData.Values collection
                if (requestContext.RouteData.Values["PageId"] != null)
                {
                    pageId = (string)requestContext.RouteData.Values["PageId"];
                }

                // Pages that use a custom URL route will have the page id in the RouteDate.DataTokens collection
                else if (requestContext.RouteData.DataTokens["PageRoutes"] != null)
                {
                    var pageAndRouteIds = requestContext.RouteData.DataTokens["PageRoutes"] as List <PageAndRouteId>;
                    if (pageAndRouteIds != null && pageAndRouteIds.Count > 0)
                    {
                        // Default to first site/page
                        if (pageAndRouteIds.Count >= 1)
                        {
                            var pageAndRouteId = pageAndRouteIds.First();
                            pageId  = pageAndRouteId.PageId.ToJson();
                            routeId = pageAndRouteId.RouteId;
                        }

                        // Then check to see if any can be matched by site
                        if (pageAndRouteIds.Count > 1)
                        {
                            SiteCache site = SiteCache.GetSiteByDomain(requestContext.HttpContext.Request.Url.Host);
                            if (site == null)
                            {
                                // Use last site
                                if (siteCookie != null && siteCookie.Value != null)
                                {
                                    site = SiteCache.Read(siteCookie.Value.AsInteger());
                                }
                            }

                            if (site != null)
                            {
                                foreach (var pageAndRouteId in pageAndRouteIds)
                                {
                                    var pageCache = PageCache.Read(pageAndRouteId.PageId);
                                    if (pageCache != null && pageCache.Layout != null && pageCache.Layout.SiteId == site.Id)
                                    {
                                        pageId  = pageAndRouteId.PageId.ToJson();
                                        routeId = pageAndRouteId.RouteId;
                                        break;
                                    }
                                }
                            }
                        }
                    }

                    foreach (var routeParm in requestContext.RouteData.Values)
                    {
                        parms.Add(routeParm.Key, (string)routeParm.Value);
                    }
                }

                // If page has not been specified get the site by the domain and use the site's default page
                if (string.IsNullOrEmpty(pageId))
                {
                    SiteCache site = SiteCache.GetSiteByDomain(requestContext.HttpContext.Request.Url.Host);
                    if (site == null)
                    {
                        // Use last site
                        if (siteCookie != null && siteCookie.Value != null)
                        {
                            site = SiteCache.Read(siteCookie.Value.AsInteger());
                        }
                    }

                    // if not found use the default site
                    if (site == null)
                    {
                        site = SiteCache.Read(SystemGuid.Site.SITE_ROCK_INTERNAL.AsGuid());
                    }

                    if (site != null)
                    {
                        // If site has has been enabled for mobile redirect, then we'll need to check what type of device is being used
                        if (site.EnableMobileRedirect)
                        {
                            bool redirect = false;

                            // get the device type
                            string u = requestContext.HttpContext.Request.UserAgent;

                            var clientType = PageViewUserAgent.GetClientType(u);

                            // first check if device is a mobile device
                            if (clientType == "Mobile")
                            {
                                redirect = true;
                            }

                            // if not, mobile device and tables should be redirected also, check if device is a tablet
                            if (!redirect && site.RedirectTablets)
                            {
                                if (clientType == "Tablet")
                                {
                                    redirect = true;
                                }
                            }

                            if (redirect)
                            {
                                if (site.MobilePageId.HasValue)
                                {
                                    pageId = site.MobilePageId.Value.ToString();
                                }
                                else if (!string.IsNullOrWhiteSpace(site.ExternalUrl))
                                {
                                    requestContext.HttpContext.Response.Redirect(site.ExternalUrl);
                                    return(null);
                                }
                            }
                        }

                        if (string.IsNullOrWhiteSpace(pageId))
                        {
                            if (site.DefaultPageId.HasValue)
                            {
                                pageId = site.DefaultPageId.Value.ToString();
                            }

                            if (site.DefaultPageRouteId.HasValue)
                            {
                                routeId = site.DefaultPageRouteId.Value;
                            }
                        }
                    }

                    if (string.IsNullOrEmpty(pageId))
                    {
                        throw new SystemException("Invalid Site Configuration");
                    }
                }

                PageCache page = null;

                if (!string.IsNullOrEmpty(pageId))
                {
                    int pageIdNumber = 0;
                    if (Int32.TryParse(pageId, out pageIdNumber))
                    {
                        page = PageCache.Read(pageIdNumber);
                    }
                }

                if (page == null)
                {
                    // try to get site's 404 page
                    SiteCache site = SiteCache.GetSiteByDomain(requestContext.HttpContext.Request.Url.Host);
                    if (site == null)
                    {
                        // Use last site
                        if (siteCookie != null && siteCookie.Value != null)
                        {
                            site = SiteCache.Read(siteCookie.Value.AsInteger());
                        }
                    }

                    if (site != null && site.PageNotFoundPageId != null)
                    {
                        if (Convert.ToBoolean(GlobalAttributesCache.Read().GetValue("Log404AsException")))
                        {
                            Rock.Model.ExceptionLogService.LogException(
                                new Exception(string.Format("404 Error: {0}", requestContext.HttpContext.Request.Url.AbsoluteUri)),
                                requestContext.HttpContext.ApplicationInstance.Context);
                        }

                        page = PageCache.Read(site.PageNotFoundPageId ?? 0);
                    }
                    else
                    {
                        // no 404 page found for the site, return the default 404 error page
                        return((System.Web.UI.Page)BuildManager.CreateInstanceFromVirtualPath("~/Http404Error.aspx", typeof(System.Web.UI.Page)));
                    }
                }

                string theme      = page.Layout.Site.Theme;
                string layout     = page.Layout.FileName;
                string layoutPath = PageCache.FormatPath(theme, layout);

                if (siteCookie == null)
                {
                    siteCookie = new System.Web.HttpCookie("last_site", page.Layout.SiteId.ToString());
                }
                else
                {
                    siteCookie.Value = page.Layout.SiteId.ToString();
                }
                requestContext.HttpContext.Response.SetCookie(siteCookie);

                try
                {
                    // Return the page for the selected theme and layout
                    Rock.Web.UI.RockPage cmsPage = (Rock.Web.UI.RockPage)BuildManager.CreateInstanceFromVirtualPath(layoutPath, typeof(Rock.Web.UI.RockPage));
                    cmsPage.SetPage(page);
                    cmsPage.PageReference = new PageReference(page.Id, routeId, parms, requestContext.HttpContext.Request.QueryString);
                    return(cmsPage);
                }
                catch (System.Web.HttpException)
                {
                    // The Selected theme and/or layout didn't exist, attempt first to use the layout in the default theme.
                    theme = "Rock";

                    // If not using the default layout, verify that Layout exists in the default theme directory
                    if (layout != "FullWidth" &&
                        !File.Exists(requestContext.HttpContext.Server.MapPath(string.Format("~/Themes/Rock/Layouts/{0}.aspx", layout))))
                    {
                        // If selected layout doesn't exist in the default theme, switch to the Default layout
                        layout = "FullWidth";
                    }

                    // Build the path to the aspx file to
                    layoutPath = PageCache.FormatPath(theme, layout);

                    // Return the default layout and/or theme
                    Rock.Web.UI.RockPage cmsPage = (Rock.Web.UI.RockPage)BuildManager.CreateInstanceFromVirtualPath(layoutPath, typeof(Rock.Web.UI.RockPage));
                    cmsPage.SetPage(page);
                    cmsPage.PageReference = new PageReference(page.Id, routeId, parms, requestContext.HttpContext.Request.QueryString);
                    return(cmsPage);
                }
            }
            catch (Exception ex)
            {
                if (requestContext.HttpContext != null)
                {
                    requestContext.HttpContext.Cache["RockExceptionOrder"] = "66";
                    requestContext.HttpContext.Cache["RockLastException"]  = ex;
                }

                System.Web.UI.Page errorPage = (System.Web.UI.Page)BuildManager.CreateInstanceFromVirtualPath("~/Error.aspx", typeof(System.Web.UI.Page));
                return(errorPage);
            }
        }
Esempio n. 59
0
        public async Task <IHttpActionResult> GetDirServiceContractor(int id, HttpRequestMessage request)
        {
            try
            {
                #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

                //Получаем Куку
                System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

                // Проверяем Логин и Пароль
                Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

                if (!field.Access)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
                }

                //Изменяем строку соединения
                db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

                //Права (1 - Write, 2 - Read, 3 - No Access)
                int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceContractors"));

                if (iRight == 3)
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
                }

                //Разные Функции
                function.NumberDecimalSeparator();

                //Получам настройки
                Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

                #endregion


                #region Параметры

                Params _params = new Params();

                //paramList -список параметров
                var paramList = request.GetQueryNameValuePairs();
                //Параметры
                _params.parSearch = paramList.FirstOrDefault(kv => string.Compare(kv.Key, "parSearch", true) == 0).Value; if (_params.parSearch != null)
                {
                    _params.parSearch = _params.parSearch.ToLower();
                }

                #endregion

                #region Отправка JSON

                var query = //await Task.Run(() =>
                            (
                    from x in db.DirServiceContractors
                    //where x.DirServiceContractorID == id
                    select new
                {
                    DirServiceContractorID = x.DirServiceContractorID,
                    DirServiceContractorName = x.DirServiceContractorName,
                    DirServiceContractorPhone = x.DirServiceContractorPhone,
                    QuantityOk = x.QuantityOk,
                    QuantityFail = x.QuantityFail,
                    QuantityCount = x.QuantityCount,
                }

                            ); //.ToListAsync());


                if (!String.IsNullOrEmpty(_params.parSearch))
                {
                    _params.parSearch = _params.parSearch.Replace("+", "").ToLower();
                    query             = query.Where(x => x.DirServiceContractorPhone == _params.parSearch);
                }
                else if (id > 0)
                {
                    query = query.Where(x => x.DirServiceContractorID == id);
                }


                var queryResult = await Task.Run(() => query.ToListAsync());



                if (queryResult.Count() > 0)
                {
                    return(Ok(returnServer.Return(true, queryResult[0])));
                }
                else
                {
                    return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg89)));
                }

                #endregion
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }
        }
Esempio n. 60
0
        public async Task <IHttpActionResult> PutDirServiceJobNomen(int id, DirServiceJobNomen dirServiceJobNomen)
        {
            #region Проверяем Логин и Пароль + Изменяем строку соединения + Права + Разные Функции

            //Получаем Куку
            System.Web.HttpCookie authCookie = System.Web.HttpContext.Current.Request.Cookies["CookieIPOL"];

            // Проверяем Логин и Пароль
            Classes.Account.Login.Field field = await Task.Run(() => login.Return(authCookie, true));

            if (!field.Access)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg10)));
            }

            //Изменяем строку соединения
            db = new DbConnectionSklad(connectionString.Return(field.DirCustomersID, null, true));

            //Права (1 - Write, 2 - Read, 3 - No Access)
            int iRight = await Task.Run(() => accessRight.Access(connectionString.Return(field.DirCustomersID, null, true), field.DirEmployeeID, "RightDirServiceJobNomens"));

            if (iRight != 1)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg57(0))));
            }

            //Разные Функции
            function.NumberDecimalSeparator();

            //Получам настройки
            Models.Sklad.Sys.SysSetting sysSetting = await db.SysSettings.FindAsync(1);

            #endregion

            #region Проверки

            if (!ModelState.IsValid)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg91)));                     //return BadRequest(ModelState);
            }
            if (id != dirServiceJobNomen.DirServiceJobNomenID)
            {
                return(Ok(returnServer.Return(false, Classes.Language.Sklad.Language.msg8)));                                               //return BadRequest();
            }
            //Подстановки - некоторые поля надо заполнить, если они не заполены
            dirServiceJobNomen.Substitute();

            #endregion


            #region Сохранение

            try
            {
                db.Entry(dirServiceJobNomen).State = EntityState.Modified;
                await Task.Run(() => db.SaveChangesAsync());


                #region 6. JourDisp *** *** *** *** *** *** *** *** *** *

                Models.Sklad.Sys.SysJourDisp sysJourDisp = new Models.Sklad.Sys.SysJourDisp();
                sysJourDisp.DirDispOperationID = 4; //Изменение записи
                sysJourDisp.DirEmployeeID      = field.DirEmployeeID;
                sysJourDisp.ListObjectID       = ListObjectID;
                sysJourDisp.TableFieldID       = dirServiceJobNomen.DirServiceJobNomenID;
                sysJourDisp.Description        = "";
                try { sysJourDispsController.mPutPostSysJourDisps(db, sysJourDisp, EntityState.Added); } catch (Exception ex) { }

                #endregion


                //Получаем Sub-бы (нужны поледние 5-ть)
                ArrayList Subs = await Task.Run(() => DirServiceJobNomenSubFind(dirServiceJobNomen.Sub));

                int ID0 = 0, ID1 = 0, ID2 = 0, ID3 = 0, ID4 = 0;
                if (Subs.Count > 0)
                {
                    if (Subs.Count > 0)
                    {
                        ID0 = Convert.ToInt32(Subs[0]);
                    }
                    if (Subs.Count > 1)
                    {
                        ID1 = Convert.ToInt32(Subs[1]);
                    }
                    if (Subs.Count > 2)
                    {
                        ID2 = Convert.ToInt32(Subs[2]);
                    }
                    if (Subs.Count > 3)
                    {
                        ID3 = Convert.ToInt32(Subs[3]);
                    }
                    if (Subs.Count > 4)
                    {
                        ID4 = Convert.ToInt32(Subs[4]);
                    }
                }

                dynamic collectionWrapper = new
                {
                    ID  = dirServiceJobNomen.DirServiceJobNomenID,
                    ID0 = ID0,
                    ID1 = ID1,
                    ID2 = ID2,
                    ID3 = ID3,
                    ID4 = ID4,
                };
                return(Ok(returnServer.Return(true, collectionWrapper)));
            }
            catch (Exception ex)
            {
                return(Ok(returnServer.Return(false, exceptionEntry.Return(ex))));
            }

            #endregion
        }