コード例 #1
0
ファイル: UserActionLogManager.cs プロジェクト: 21ki/kuanmai
 public UserActionLogManager(BUser user)
 {
     this.CurrentUser = user;
 }
コード例 #2
0
ファイル: SaleController.cs プロジェクト: 21ki/kuanmai
        public ApiMessage HandleBackSaleDetail()
        {
            ApiMessage      message      = new ApiMessage();
            HttpContextBase context      = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request      = context.Request;
            string          user_id      = User.Identity.Name;
            UserManager     userMgr      = new UserManager(int.Parse(user_id), null);
            BUser           user         = userMgr.CurrentUser;
            StockManager    stockManager = new StockManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            SalesManager    saleManager  = new SalesManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            string          backSales    = request["back_sales"];
            int             status       = 0;

            int.TryParse(request["status"], out status);

            if (string.IsNullOrEmpty(backSales))
            {
                message.Status  = "failed";
                message.Message = "没有任何退货信息";
                return(message);
            }

            backSales = HttpUtility.UrlDecode(backSales);

            try
            {
                JArray jsons = JArray.Parse(backSales);
                if (jsons != null && jsons.Count > 0)
                {
                    for (int i = 0; i < jsons.Count; i++)
                    {
                        JObject       json         = (JObject)jsons[i];
                        int           back_Sale_ID = (int)json["back_sale_id"];
                        JArray        orders       = (JArray)json["orders"];
                        List <BOrder> bOrders      = new List <BOrder>();
                        for (int j = 0; j < orders.Count; j++)
                        {
                            JObject o        = (JObject)orders[j];
                            string  order_id = (string)o["order_id"];
                            int     quantity = (int)o["quantity"];
                            bOrders.Add(new BOrder()
                            {
                                Order_ID = order_id, Quantity = quantity
                            });
                        }

                        switch (status)
                        {
                        case 1:
                            saleManager.HandleBackSaleDetail_BackStock(back_Sale_ID, bOrders, status);
                            break;

                        case 2:
                            saleManager.HandleBackSaleDetail_PartialWaste(back_Sale_ID, bOrders, status);
                            break;

                        case 3:
                            saleManager.HandleWastageBackSale_TotalWaste(back_Sale_ID, bOrders, status);
                            break;

                        default:
                            break;
                        }
                    }
                }
                message.Status = "ok";
            }
            catch (KM.JXC.Common.KMException.KMJXCException kex)
            {
                message.Status  = "failed";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                message.Status  = "failed";
                message.Message = ex.Message;
            }
            finally
            {
            }
            return(message);
        }
コード例 #3
0
        /// <summary>
        /// Add Data To Cache
        /// </summary>
        private List <AppointmentInfo> AddDataToCache()
        {
            var userData = UserData;
            var cacheKey = WebUtility.GetCacheKeyName(userData, "his-appointments");

            HttpRuntime.Cache.Remove(cacheKey);

            if (LscsComboBox.SelectedItem.Value == null || LscsComboBox.SelectedItem.Value == String.Empty)
            {
                return(null);
            }
            var ids = WebUtility.ItemSplit(LscsComboBox.SelectedItem.Value);

            if (ids.Length != 2)
            {
                return(null);
            }
            var lscId = Int32.Parse(ids[0]);
            var lsc   = new BLsc().GetLsc(lscId);

            if (lsc == null)
            {
                WebUtility.ShowMessage(EnmErrType.Warning, "无法获取Lsc信息");
                return(null);
            }

            var beginTime = DateTime.Parse(BeginDate.Text);
            var endTime   = DateTime.Parse(EndDate.Text);
            var queryType = Int32.Parse(QueryTypeComboBox.SelectedItem.Value);
            var queryText = QueryContentTextField.Text.Trim();

            var appointments = new BAppointment().GetHisAppointments(lsc.LscID, lsc.LscName, beginTime, endTime, queryType, queryText);

            if (appointments.Count > 0)
            {
                var users = new BUser().GetUsers(lsc.LscID, lsc.LscName, null, WebUtility.CreateLscConnectionString(lsc));
                if (users.Count > 0)
                {
                    appointments = (from a in appointments
                                    join u in users on new { UserID = a.CreaterId } equals new { UserID = u.UserID } into ug
                                    from ua in ug.DefaultIfEmpty()
                                    select new AppointmentInfo {
                        LscID = a.LscID,
                        LscName = a.LscName,
                        Id = a.Id,
                        StartTime = a.StartTime,
                        EndTime = a.EndTime,
                        LscIncluded = a.LscIncluded,
                        StaIncluded = a.StaIncluded,
                        DevIncluded = a.DevIncluded,
                        ProjectId = a.ProjectId,
                        ProjectName = a.ProjectName,
                        Status = a.Status,
                        CreaterId = a.CreaterId,
                        Creater = ua != null?ua.UserName:a.Creater,
                        ContactPhone = ua != null?ua.MobilePhone:a.ContactPhone,
                        CreatedTime = a.CreatedTime,
                        RecordTime = a.RecordTime
                    }).OrderBy(a => a.Id).ToList();
                }
            }

            var cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]);

            HttpRuntime.Cache.Insert(cacheKey, appointments, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null);
            return(appointments);
        }
コード例 #4
0
        public APIChargeResult Charge()
        {
            logger.Info("Client system call is coming...");
            APIChargeResult message = new APIChargeResult();

            try
            {
                base.IniRequest();
                string siganture   = string.Empty;
                string accessToken = string.Empty;
                string queryStr    = string.Empty;
                base.ParseSigantures(out siganture, out accessToken, out queryStr);
                if (string.IsNullOrEmpty(siganture))
                {
                    message.Status  = "FAILED";
                    message.Message = "sign不能为空";
                    return(message);
                }
                if (string.IsNullOrEmpty(accessToken))
                {
                    message.Status  = "FAILED";
                    message.Message = "token不能为空";
                    return(message);
                }
                if (string.IsNullOrEmpty(queryStr))
                {
                    message.Status  = "FAILED";
                    message.Message = "传入的参数不合法";
                    return(message);
                }

                ApiAccessManagement accessMgt = new ApiAccessManagement();
                BUser user = accessMgt.GetUserByAccesstoken(accessToken);
                if (user == null)
                {
                    message.Status  = "FAILED";
                    message.Message = "token不正确";
                    return(message);
                }
                logger.Info(string.Format("Client system post data:{0}", queryStr));
                logger.Info(string.Format("Signature:{0}", siganture != null ? siganture : ""));
                logger.Info(string.Format("Agent - {0}", user != null ? user.User.Name : ""));
                bool verifySign = accessMgt.VerifyApiSignature(user.User.SecurityStamp, queryStr, siganture);
                if (!verifySign)
                {
                    logger.Info(string.Format("Failed to verify signature."));
                    message.Status  = "FAILED";
                    message.Message = "签名不正确,请使用正确的SecurityToken进行签名";
                    return(message);
                }
                logger.Info("Signature verification passed.");
                int    routeId       = 0;
                string callbackUrl   = request["CallBackUrl"] != null ? request["CallBackUrl"] : "";
                string province      = request["Province"] != null ? request["Province"] : "";
                string city          = request["City"] != null ? request["City"] : "";
                string mobile        = request["Mobile"] != null ? request["Mobile"] : "";
                string clientOrderId = request["Client_order_id"];
                string spName        = request["MobileSP"];
                int.TryParse(request["Id"], out routeId);
                if (string.IsNullOrEmpty(mobile) || mobile.Trim().Length != 11)
                {
                    message.Status  = "FAILED";
                    message.Message = "手机号码不正确";
                    return(message);
                }

                if (string.IsNullOrEmpty(province))
                {
                    message.Status  = "FAILED";
                    message.Message = "手机归属省份(参数Province)不能为空";
                    return(message);
                }

                //if (string.IsNullOrEmpty(city))
                //{
                //    message.Status = "FAILED";
                //    message.Message = "手机归属城市(参数City)不能为空";
                //    return message;
                //}

                if (string.IsNullOrEmpty(spName))
                {
                    message.Status  = "FAILED";
                    message.Message = "手机归属运营商(参数MobileSP)不能为空";
                    return(message);
                }
                else
                {
                    if (spName != "中国移动" && spName != "中国联通" && spName != "中国电信")
                    {
                        message.Status  = "FAILED";
                        message.Message = "手机归属运营商(参数MobileSP)值必须为 中国移动,中国联通或者中国电信";
                        return(message);
                    }
                }

                if (routeId <= 0)
                {
                    message.Status  = "FAILED";
                    message.Message = "非法路由产品编号(ID)";
                    return(message);
                }

                ProductManagement pdtMger = new ProductManagement();
                message = pdtMger.Charge(user.User.Id, routeId, mobile, spName, province, city, callbackUrl, clientOrderId);
                logger.Info(message.Status);
                logger.Info(message.Message);
            }
            catch (KMBitException kex)
            {
                logger.Error(kex);
                message.Status  = "FAILED";
                message.Message = kex.Message;
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                message.Status  = "FAILED";
                message.Message = "未知错误,联系平台管理员";
            }
            logger.Info("Finished processing client calling.");
            logger.Info("...................................");
            return(message);
        }
コード例 #5
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            CultureInfo culture = new CultureInfo("fr-FR", true);

            //Upload File
            DateTime CurrentTime = DateTime.Now;
            string   day         = CurrentTime.Day.ToString();
            string   month       = CurrentTime.Month.ToString();
            string   year        = CurrentTime.Year.ToString();
            string   hour        = CurrentTime.Hour.ToString();
            string   minute      = CurrentTime.Minute.ToString();
            string   millisecond = CurrentTime.Millisecond.ToString();
            string   str         = "-" + day + "-" + month + "-" + year + "-" + "-" + hour + "-" + minute + "-" + millisecond;

            //Lấy danh sách file Attach
            BAttach            Bobj = new BAttach();
            HttpFileCollection hfc  = Request.Files;
            int    n        = hfc.Count;
            string listFile = ",";

            try
            {
                // Get the HttpFileCollection

                for (int i = 0; i < hfc.Count; i++)
                {
                    HttpPostedFile hpf = hfc[i];
                    if (hpf.ContentLength > 0)
                    {
                        hpf.SaveAs(Server.MapPath("/MyFiles") + "/" + System.IO.Path.GetFileNameWithoutExtension(hpf.FileName).Replace(" ", "_") + str + System.IO.Path.GetExtension(hpf.FileName));
                        OAttach obj = new OAttach();
                        obj.Name        = System.IO.Path.GetFileName(hpf.FileName);
                        obj.Path        = "~/MyFiles" + "/" + System.IO.Path.GetFileNameWithoutExtension(hpf.FileName).Replace(" ", "_") + str + System.IO.Path.GetExtension(hpf.FileName);
                        obj.Description = "";
                        Bobj.Add(obj);
                        listFile += Bobj.GetLast().FirstOrDefault().AttachID.ToString() + ",";
                    }
                }
            }
            catch (Exception ex)
            {
            }


            //Lấy danh sách người thực hiện công việc

            string UserJoin = hdfUsers.Value;

            if (UserJoin == ",")
            {
                UserJoin = "";
            }
            else
            {
                UserJoin = "," + UserJoin;
            }
            //Lấy mức độ ưu tiên
            string Priority = string.Empty;

            if (rdoPrior1.Checked == true)
            {
                Priority = "RAT_QUAN_TRONG";
            }
            else if (rdoPrior2.Checked == true)
            {
                Priority = "QUAN_TRONG";
            }
            else
            {
                Priority = "BINH_THUONG";
            }

            //Lưu công việc mới
            OWork objWork = new OWork();

            objWork.Name         = txtWorkName.Text;
            objWork.Description  = txtDescription.Text;
            objWork.Content      = txtContent.Text;
            objWork.Attachs      = listFile;
            objWork.IDUserCreate = Global.UserInfo.UserID;
            BUser ctl = new BUser();

            //-- Kiểm tra quyền giao việc
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.WorkAssignment.ToString()) || Global.IsAdmin())
            {
                objWork.IDUserProcess = UserJoin;
            }
            else
            {
                objWork.IDUserProcess = "," + Global.UserInfo.UserName + ",";
            }

            objWork.IDWorkGroup  = int.Parse(ddlWorkGroup.SelectedValue);
            objWork.CreateDate   = CurrentTime;
            objWork.Status       = "CHUA_GIAO";
            objWork.Priority     = Priority;
            objWork.StartProcess = DateTime.Parse(txtStartDate.Text, culture, DateTimeStyles.NoCurrentDateDefault);
            objWork.EndProcess   = DateTime.Parse(txtEndDate.Text, culture, DateTimeStyles.NoCurrentDateDefault);

            BWork BobjWork = new BWork();

            BobjWork.Add(objWork);
            Response.Redirect("WorkAssignment.aspx");
        }
コード例 #6
0
        public void DeleteByUser()
        {
            bool             result                 = false;
            List <ECompany>  listECompanies         = new List <ECompany>();
            BUserCompany     bUserCompany           = new BUserCompany();
            EUserCompany     eUserCompany           = new EUserCompany();
            EUserCompany     insertedOneUserCompany = new EUserCompany();
            EUserCompany     insertedTwoUserCompany = new EUserCompany();
            BCorporation     bCorporation           = new BCorporation();
            ECorporation     eCorporation           = new ECorporation();
            BCompany         bCompany               = new BCompany();
            ECompany         eCompany               = new ECompany();
            BUser            bUser = new BUser();
            EUser            eUser = new EUser();
            TransactionScope ts    = new TransactionScope(TransactionScopeOption.RequiresNew);

            eCorporation.CodeCorporation    = Aleatory.GetString(2);
            eCorporation.Name               = Aleatory.GetString(15);
            eCorporation.State              = Aleatory.GetShort();
            eCorporation.Audit.UserRegister = Aleatory.GetString(8);
            bCorporation.Insert(eCorporation);

            eCompany.CodeCompany        = Aleatory.GetString(2);
            eCompany.CodeCorporation    = eCorporation.CodeCorporation;
            eCompany.Ruc                = Aleatory.GetString(11);
            eCompany.LongName           = Aleatory.GetString(15);
            eCompany.State              = Aleatory.GetShort();
            eCompany.Audit.UserRegister = Aleatory.GetString(8);
            bCompany.Insert(eCompany);

            eUser.CodeUser           = Aleatory.GetString(8);
            eUser.Name               = Aleatory.GetString(8);
            eUser.Password           = Aleatory.GetString(8);
            eUser.State              = Aleatory.GetShort();
            eUser.Audit.UserRegister = Aleatory.GetString(8);
            bUser.Insert(eUser);

            eUserCompany.CodeUser    = eUser.CodeUser;
            eUserCompany.CodeCompany = eCompany.CodeCompany;
            bUserCompany.Insert(eUserCompany);

            insertedOneUserCompany = bUserCompany.Select(eUserCompany);

            eCompany.CodeCompany        = Aleatory.GetString(2);
            eCompany.CodeCorporation    = eCorporation.CodeCorporation;
            eCompany.LongName           = Aleatory.GetString(15);
            eCompany.State              = Aleatory.GetShort();
            eCompany.Audit.UserRegister = Aleatory.GetString(8);
            bCompany.Insert(eCompany);

            eUserCompany.CodeUser    = eUser.CodeUser;
            eUserCompany.CodeCompany = eCompany.CodeCompany;
            bUserCompany.Insert(eUserCompany);

            insertedTwoUserCompany = bUserCompany.Select(eUserCompany);

            listECompanies = bUserCompany.SelectByUser(eUser);

            if (listECompanies.Count == 2 &&
                listECompanies.Exists(x => x.CodeCompany == insertedOneUserCompany.CodeCompany) &&
                listECompanies.Exists(x => x.CodeCompany == insertedTwoUserCompany.CodeCompany))
            {
                bUserCompany.DeleteByUser(eUser);
            }

            listECompanies = bUserCompany.SelectByUser(eUser);

            if (listECompanies.Count == 0)
            {
                result = true;
            }

            Assert.IsTrue(result);
        }
コード例 #7
0
 public ProductManager(BUser user, int shop_id, Permission permission)
     : base(user, shop_id, permission)
 {
     stockManager = new StockManager(user, shop_id, permission);
 }
コード例 #8
0
        /// <summary>
        ///     1-成功;2-密码错误;-1-用户不存在;3-未审核;4审核不通过
        /// </summary>
        /// <param name="UserLogiName"></param>
        /// <param name="userpassowrd"></param>
        /// <param name="isrember"></param>
        /// <returns></returns>
        public static bool login(SysUser su, string userloginname, string userpassowrd, bool isrember)
        {
            if (su != null)
            {
                var bu = new BUser();
                var ip = "";
                if (HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null) // 服务器, using proxy
                {
                    //得到真实的客户端地址
                    if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
                    {
                        ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                    }
                }
                else //如果没有使用代理服务器或者得不到客户端的ip  not using proxy or can't get the Client IP
                {
                    if (HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"] != null)
                    {
                        //得到服务端的地址
                        ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
                    }
                }


                //默认Cookie,自动登陆使用
                if (isrember)
                {
                    HttpCookie cookie = new HttpCookie("Zcqxxx");
                    cookie.Values.Add("Name", userloginname);
                    cookie.Values.Add("Pwd", userpassowrd);
                    cookie.Expires = System.DateTime.Now.AddDays(7.0);
                    HttpContext.Current.Response.Cookies.Add(cookie);
                }
                //记录IP及时间
                bu.Update(new SysUser {
                    UserID = su.UserID, LastTime = DateTime.Now, LastIP = ip, LoginTimes = (su.LoginTimes ?? 0) + 1
                });
                //创建Account
                var ac = new Account();
                ac.User = su;
                //获取权限列表
                ac.OperateList = bu.GetOperateByUserID(su.UserID);
                //获取用户角色
                var bur = new BUserRole();

                DataTable dt = bur.GetUserRoleByUserID(su.UserID);
                ac.UserRoleNames = new ArrayList();
                ac.UserRoleIds   = new ArrayList();

                for (var i = 0; i < dt.Rows.Count; i++)
                {
                    ac.UserRoleNames.Add(dt.Rows[i]["RoleName"].ToString());
                    ac.UserRoleIds.Add(dt.Rows[i]["RoleID"].ToString());
                }
                ////获取用户区域
                //if (ac.User.LimitAreas == null) ac.User.LimitAreas = "";
                //if (ac.User.IsMain == false)
                //{
                //    if (ac.User.LimitAreas == "")
                //    {
                //        //获取主用户的限制区域
                //        Query qm = new Query();
                //        qm.Add("OrgID", ac.User.OrgID);
                //        qm.Add("IsMain", true);
                //        SysUser MainSu = bu.GetUserByQuery(qm);
                //        if (MainSu != null)
                //        {
                //            if (MainSu.LimitAreas == null) MainSu.LimitAreas = "";
                //            if (MainSu.LimitAreas.ToString() != "")
                //            {
                //                ac.User.LimitAreas = MainSu.LimitAreas;
                //            }
                //        }
                //    }
                //}
                //if (ac.User.LimitAreas != "") ac.User.LimitAreas += "|98";
                //if (ac.User.IsPayUser != true) ac.User.LimitAreas = "";
                ////获取用户所属机构信息
                //if (su.OrgID != null && su.OrgID != 0)
                //{
                //    BCompany bc = new BCompany();
                //    ac.CompanyInfo = bc.GetCompanyByCompanyID((int)su.OrgID);
                //}
                HttpContext.Current.Session["Account"] = ac;

                return(true);
            }
            return(false);
        }
コード例 #9
0
ファイル: PaymentManagement.cs プロジェクト: 21ki/kuanmai
 public PaymentManagement(BUser user) : base(user)
 {
 }
コード例 #10
0
        private bool RefreshMainValues()
        {
            if (cboType.SelectedIndex > -1)
            {
                try
                {
                    var vPrincipalCompany = BPrincipalCompany.Get();

                    if (cboType.SelectedIndex == 0)
                    {
                        var vUsers = BUser.GetAllUsers();

                        List <Report_Users_001> objListReport = new List <Report_Users_001>();

                        if (vUsers != null)
                        {
                            for (int inCont = 0; inCont < vUsers.Count; inCont++)
                            {
                                string stCreatedBy, stModifiedBy;
                                stCreatedBy = stModifiedBy = "";

                                var vUserBranches = BUser.GetAllBranches(vUsers[inCont].user_uuid__uniqueidentifier);

                                if (vUserBranches != null && vUserBranches.Count > 1)
                                {
                                    var vUser = BUser.FindByUUID(vUserBranches[0].user_uuid__uniqueidentifier.Value);

                                    stCreatedBy = Tools.Decrypt(vUser.user_firstname__nvarchar) + " " + Tools.Decrypt(vUser.user_lastname__nvarchar);

                                    vUser = BUser.FindByUUID(vUserBranches[vUserBranches.Count - 1].user_uuid__uniqueidentifier.Value);

                                    stModifiedBy = Tools.Decrypt(vUser.user_firstname__nvarchar) + " " + Tools.Decrypt(vUser.user_lastname__nvarchar);
                                }
                                else
                                {
                                    stCreatedBy = Tools.Decrypt(vUsers[inCont].user_firstname__nvarchar) + " " + Tools.Decrypt(vUsers[inCont].user_lastname__nvarchar);
                                }

                                objListReport.Add(new Report_Users_001()
                                {
                                    Number             = Convert.ToString(inCont + 1),
                                    Username           = vUsers[inCont].user_username__nvarchar,
                                    Email              = vUsers[inCont].user_email__nvarchar,
                                    Cellphone          = vUsers[inCont].user_cellphone__nvarchar,
                                    FirstName          = Tools.Decrypt(vUsers[inCont].user_firstname__nvarchar),
                                    LastName           = Tools.Decrypt(vUsers[inCont].user_lastname__nvarchar),
                                    RoleAccess         = vUsers[inCont].user_roleaccess__tinyint == 1 ? "Administrator" : "<>",
                                    CreatedBy          = stCreatedBy,
                                    LastModificationBy = stModifiedBy
                                });
                            }
                        }
                        ///////////////////////////////////////////////////////////////////////////////

                        rpvReport.LocalReport.ReportEmbeddedResource = "General_Desktop_Application.Reports.Report_Users_001.rdlc";

                        // We clean DataSource of report.
                        rpvReport.LocalReport.DataSources.Clear();

                        //
                        // We establish the parameters that we'll send them to report.
                        //
                        string            stPUser            = Tools.Decrypt(ObjForm_004.ObjUser.user_firstname__nvarchar) + " " + Tools.Decrypt(ObjForm_004.ObjUser.user_lastname__nvarchar);
                        string            stPCompany         = vPrincipalCompany.prco_name__nvarchar;
                        string            stPAddress         = vPrincipalCompany.prco_address__nvarchar != null ? vPrincipalCompany.prco_address__nvarchar : "";
                        ReportParameter[] objReportParameter =
                        {
                            new ReportParameter("pReportName", "User Report"),
                            new ReportParameter("pLogo",       vPrincipalCompany.reso_uuid_logo__uniqueidentifier != null ? Convert.ToBase64String(BResource.FindByUUID(vPrincipalCompany.reso_uuid_logo__uniqueidentifier.Value).reso_value__varbinary) : null),
                            new ReportParameter("pDate",       DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString()),
                            new ReportParameter("pCompany",    stPCompany.Length > 20 ? stPCompany.Substring(0,                                                                                                                                                20) : stPCompany),
                            new ReportParameter("pRFC",        vPrincipalCompany.prco_rfc__nvarchar != null ? vPrincipalCompany.prco_rfc__nvarchar :null),
                            new ReportParameter("pUser",       stPUser.Length > 20 ? stPUser.Substring(0,                                                                                                                                                         20) : stPUser),
                            new ReportParameter("pAddress",    stPAddress.Length > 20 ? stPAddress.Substring(0, 20):stPAddress)
                        };

                        // We send the list with parameters.
                        rpvReport.LocalReport.SetParameters(objReportParameter);

                        //
                        // We establish the list as report's Datasource.
                        //
                        rpvReport.LocalReport.DataSources.Add(new ReportDataSource("dsReport_User_001", objListReport));

                        // We adjust the report's visualization mode.

                        rpvReport.SetDisplayMode(DisplayMode.PrintLayout);

                        rpvReport.ZoomMode    = ZoomMode.Percent;
                        rpvReport.ZoomPercent = 100;

                        //
                        // We do a refresh to reportViewer.
                        //
                        rpvReport.RefreshReport();
                    }
                }
                catch
                {
                    MessageBox.Show(Preferences.GlobalErrorOperation, Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Information);

                    return(false);
                }
            }

            return(true);
        }
コード例 #11
0
        /// <summary>
        /// Kiểm tra quyền
        /// </summary>
        private void CheckPermission()
        {
            BUser ctl = new BUser();

            //-- Kiểm tra quyền dự thảo
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.DocumentDrap.ToString()) || Global.IsAdmin())
            {
                pnDocumentDrap.Visible = true;
            }
            //-- Kiểm tra quyền duyệt
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.DocumentProcess.ToString()) || Global.IsAdmin())
            {
                pnDocumentProcess.Visible = true;
            }
            //-- Kiểm tra quyền phát hành
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.DocumentPublish.ToString()) || Global.IsAdmin())
            {
                pnDocumentPublish.Visible = true;
            }

            //-- Kiểm tra quyền dự thảo
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.DocumentSendDrap.ToString()) || Global.IsAdmin())
            {
                pnDocumentSendDrap.Visible = true;
            }
            //-- Kiểm tra quyền duyệt
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.DocumentSendProcess.ToString()) || Global.IsAdmin())
            {
                pnDocumentSendProcess.Visible = true;
            }
            //-- Kiểm tra quyền phát hành
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.DocumentSendPublish.ToString()) || Global.IsAdmin())
            {
                pnDocumentSendPublish.Visible = true;
            }


            //-- Kiểm tra quyền dự thảo
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.DocumentReceivedDrap.ToString()) || Global.IsAdmin())
            {
                pnDocumentReceivedDrap.Visible = true;
            }
            //-- Kiểm tra quyền duyệt
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.DocumentReceivedProcess.ToString()) || Global.IsAdmin())
            {
                pnDocumentReceivedProcess.Visible = true;
            }
            //-- Kiểm tra quyền phát hành
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.DocumentReceivedPublish.ToString()) || Global.IsAdmin())
            {
                pnDocumentReceivedPublish.Visible = true;
            }

            //-- Kiểm tra quyền gửi tin nhắn
            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.SendSMS.ToString()) || Global.IsAdmin())
            {
                pnlSMS.Visible = true;
            }

            BUser ctlUP = new BUser();

            if (Global.IsAdmin())
            {
                li_User.Visible = true;
            }
        }
コード例 #12
0
ファイル: FormLogin.cs プロジェクト: 1059444127/Arrangement
        private void button4_Click(object sender, EventArgs e)
        {
            try
            {
                string          id       = TextUserid.Text.Trim();
                string          password = TextPassName.Text.Trim();
                BUser           mgr      = new BUser();
                DTO4ManagerInfo manager  = mgr.ManagerLogin(id, password);

                if (id == null || id == "")                                     //输入名和密码不能为空
                {
                    MessageBox.Show("输入名为空!");
                }
                if (password == null || password == "")
                {
                    MessageBox.Show("输入密码不能为空!");
                }

                //通过设置公共类app在窗体之间传递参数

                if (manager.Id == id && manager.Psw == password)
                {
                    app.a             = 1;
                    app.user_name     = manager.Name;
                    app.user_id       = manager.Id;
                    app.user_office   = "管理层";
                    app.user_jobtitle = "管理者";

                    Form1 form1 = new Form1();
                    this.Hide();
                    if (form1.ShowDialog() == DialogResult.OK)
                    {
                        this.Close();
                    }
                }
                else
                {
                    DTO4DoctorInfo doctor = mgr.DoctorLogin(id);
                    if (doctor.Psw == password)
                    {
                        app.a = 0;

                        app.user_name     = doctor.Name;
                        app.user_id       = doctor.Id;
                        app.user_office   = doctor.Office;
                        app.user_jobtitle = doctor.JobTitle;

                        Form1 form1 = new Form1();
                        this.Hide();
                        if (form1.ShowDialog() == DialogResult.OK)
                        {
                            this.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("登录失败");
                    }
                }
            }
            catch
            {
                MessageBox.Show("请确认您的账户密码是否正确");
            }
        }
コード例 #13
0
ファイル: BugManager.cs プロジェクト: 21ki/kuanmai
 public BugManager(BUser user)
 {
     this.currentUser = user;
 }
コード例 #14
0
 private static void LogOut()
 {
     BUser.ClearUserCach();
     FormsAuthentication.SignOut();
     FormsAuthentication.RedirectToLoginPage();
 }
コード例 #15
0
 public BaseManagement(int userId)
 {
     this.CurrentLoginUser = this.GetUserInfo(userId);
     this.InitializeLoggger();
 }
コード例 #16
0
ファイル: FrmShipmentSearch.cs プロジェクト: zhr008/ERP-1
        /// <summary>
        ///  纳品书
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnShipper_Click(object sender, EventArgs e)
        {
            try
            {
                if (isSearch)
                {
                    //纳品书订单的选择
                    FrmShipmentPrintSelect frm = new FrmShipmentPrintSelect(currentConduction);
                    if (frm.ShowDialog(this) == DialogResult.Cancel)
                    {
                        return;
                    }
                    string slipNumber = frm.resultValue;

                    if (!string.IsNullOrEmpty(slipNumber))
                    {
                        Hashtable ht = null; //单个替换用
                        DataTable dt = null; //数据集
                        bool      isMechanicalBase = false;

                        DataSet ds = bShipment.GetList(" SLIP_NUMBER in (" + slipNumber + ")");
                        foreach (DataRow dr in ds.Tables[0].Rows)
                        {
                            if (CConstant.MECHANICAL_BASE.Equals(dr["MECHANICAL_DISTINCTION_FLAG"]))
                            {
                                isMechanicalBase = true;
                                break;
                            }
                        }

                        if (isMechanicalBase)
                        {
                            #region 含机械本体

                            dt = new DataTable();
                            dt.Columns.Add("NO", Type.GetType("System.String"));
                            dt.Columns.Add("NAME", Type.GetType("System.String"));
                            dt.Columns.Add("SPEC", Type.GetType("System.String"));
                            dt.Columns.Add("QTY", Type.GetType("System.Decimal"));
                            dt.Columns.Add("UNIT_NAME", Type.GetType("System.String"));
                            dt.Columns.Add("SERIAL_NUMBER", Type.GetType("System.String"));

                            DataRow row     = null;
                            bool    isFirst = true;
                            int     i       = 1;
                            foreach (DataRow dr in ds.Tables[0].Rows)
                            {
                                if (isFirst)
                                {
                                    ht = new Hashtable();
                                    ht.Add("&SLIP_NUMBER", CConvert.ToString(dr["SLIP_NUMBER"]));
                                    ht.Add("&DATE", CConvert.ToDateTime(dr["SLIP_DATE"]).ToShortDateString());
                                    ht.Add("&CUSTOMER_NAME", CConvert.ToString(dr["CUSTOMER_NAME"]));
                                    ht.Add("&CONTACT_NAME", CConvert.ToString(dr["CONTACT_NAME"]));
                                    ht.Add("&MOBIL_NUMBER", CConvert.ToString(dr["MOBIL_NUMBER"]));
                                    ht.Add("&MONTH", CConvert.ToDateTime(dr["ARRIVAL_DATE"]).Month);
                                    ht.Add("&DAY", CConvert.ToDateTime(dr["ARRIVAL_DATE"]).Day);
                                    ht.Add("&HOUR", CConvert.ToDateTime(dr["ARRIVAL_DATE"]).Hour);
                                    ht.Add("&MINUTE", CConvert.ToDateTime(dr["ARRIVAL_DATE"]).Minute);
                                    ht.Add("&ADDRESS", CConvert.ToString(dr["DELIVERY_POINT_NAME"]));
                                }

                                if (CConstant.PRODUCT_PACKAGE_ALONT.Equals(dr["PACKAGE_MODE"]))
                                {
                                    row              = dt.NewRow();
                                    row["NO"]        = i++;
                                    row["NAME"]      = CConvert.ToString(dr["PRODUCT_NAME"]);
                                    row["SPEC"]      = CConvert.ToString(dr["SPEC"]);
                                    row["QTY"]       = CConvert.ToDecimal(dr["QUANTITY"]);
                                    row["UNIT_NAME"] = CConvert.ToString(dr["UNIT_NAME"]);
                                    if (CConstant.MECHANICAL_BASE.Equals(dr["MECHANICAL_DISTINCTION_FLAG"]))
                                    {
                                        row["SERIAL_NUMBER"] = CConvert.ToString(dr["SERIAL_NUMBER"]);
                                    }
                                    else
                                    {
                                        row["SERIAL_NUMBER"] = "";
                                    }
                                    dt.Rows.Add(row);
                                }
                            }

                            SaveFileDialog sf = new SaveFileDialog();
                            sf.FileName = "LZ_SHIPMENT_BODY_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
                            sf.Filter   = "(文件)|*.xls;*.xlsx";

                            if (sf.ShowDialog(this) == DialogResult.OK)
                            {
                                if (dt.Rows.Count > 0)
                                {
                                    int ret = CommonExport.ExportShipmentBody(@"rpt\shipper_body.xls", sf.FileName, dt, ht);
                                    if (CConstant.EXPORT_FAILURE.Equals(ret))
                                    {
                                        MessageBox.Show("导出失败。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    }
                                    else if (CConstant.EXPORT_SUCCESS.Equals(ret))
                                    {
                                        MessageBox.Show("导出成功。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    }
                                    else if (CConstant.EXPORT_RUNNING.Equals(ret))
                                    {
                                        MessageBox.Show("文件正在运行,重新生成文件失败。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    }
                                    else if (CConstant.EXPORT_TEMPLETE_FILE_NOT_EXIST.Equals(ret))
                                    {
                                        MessageBox.Show("模版文件不存在。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("明细信息不存在。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                }
                            }
                            #endregion
                        }
                        else
                        {
                            #region  部件出货
                            dt = new DataTable();
                            dt.Columns.Add("NO", Type.GetType("System.Int32"));
                            dt.Columns.Add("PRODUCT_NAME", Type.GetType("System.String"));
                            dt.Columns.Add("X_1", Type.GetType("System.String"));
                            dt.Columns.Add("X_2", Type.GetType("System.String"));
                            dt.Columns.Add("MODEL_NUMBER", Type.GetType("System.String"));
                            dt.Columns.Add("X_3", Type.GetType("System.String"));
                            dt.Columns.Add("QUANTITY", Type.GetType("System.Decimal"));
                            dt.Columns.Add("MEMO", Type.GetType("System.String"));

                            DataRow row     = null;
                            bool    isFirst = true;
                            int     i       = 1;
                            foreach (DataRow dr in ds.Tables[0].Rows)
                            {
                                if (isFirst)
                                {
                                    ht = new Hashtable();
                                    ht.Add("&SLIP_NUMBER", CConvert.ToString(dr["SLIP_NUMBER"]));
                                    ht.Add("&DATE", CConvert.ToDateTime(dr["SLIP_DATE"]).ToShortDateString());
                                    ht.Add("&END_CUSTOMER_NAME", CConvert.ToString(dr["ENDER_CUSTOMER_NAME"]));
                                    ht.Add("&CONTACT", CConvert.ToString(dr["ENDER_CONTACT_NAME"]));
                                    ht.Add("&MOBIL_NUMBER", CConvert.ToString(dr["ENDER_MOBIL_NUMBER"]));
                                    ht.Add("&ADDRESS", CConvert.ToString(dr["DELIVERY_POINT_NAME"]));
                                    DataTable userDt      = new BUser().GetList(" CODE='" + CConvert.ToString(dr["CREATE_USER"]) + "'").Tables[0];
                                    string    companyName = "";
                                    if (userDt != null && userDt.Rows.Count > 0)
                                    {
                                        companyName = CConvert.ToString(userDt.Rows[0]["COMPANY_NAME"]);
                                    }
                                    ht.Add("&COMPANY_NAME", companyName);
                                    ht.Add("&INVOICE_NUMBER", bShipment.GetReceiptInvoiceNumber(CConvert.ToString(dr["ORDER_SLIP_NUMBER"])));
                                }

                                row                 = dt.NewRow();
                                row["NO"]           = i++;
                                row["PRODUCT_NAME"] = CConvert.ToString(dr["PRODUCT_NAME"]);
                                row["MODEL_NUMBER"] = CConvert.ToString(dr["SPEC"]) + CConvert.ToString(dr["MODEL_NUMBER"]);
                                row["QUANTITY"]     = CConvert.ToDecimal(dr["QUANTITY"]);
                                row["MEMO"]         = CConvert.ToString(dr["MEMO"]);
                                dt.Rows.Add(row);
                            }
                            SaveFileDialog sf = new SaveFileDialog();
                            sf.FileName = "LZ_SHIPMENT_ACCESSORIES_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
                            sf.Filter   = "(文件)|*.xls;*.xlsx";

                            if (sf.ShowDialog(this) == DialogResult.OK)
                            {
                                if (dt.Rows.Count > 0)
                                {
                                    int ret = CommonExport.ExportShipmentAccessories(@"rpt\shipper_accessories.xls", sf.FileName, dt, ht);
                                    if (CConstant.EXPORT_FAILURE.Equals(ret))
                                    {
                                        MessageBox.Show("导出失败。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    }
                                    else if (CConstant.EXPORT_SUCCESS.Equals(ret))
                                    {
                                        MessageBox.Show("导出成功。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    }
                                    else if (CConstant.EXPORT_RUNNING.Equals(ret))
                                    {
                                        MessageBox.Show("文件正在运行,重新生成文件失败。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    }
                                    else if (CConstant.EXPORT_TEMPLETE_FILE_NOT_EXIST.Equals(ret))
                                    {
                                        MessageBox.Show("模版文件不存在。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("明细信息不存在。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                }
                            }
                            #endregion
                        }
                    }
                      // end if (!string.IsNullOrEmpty(slipNumber))
                } // end if (isSearch)
            }
            catch (Exception ex)
            { }
        }
コード例 #17
0
 public BaseManagement(string email)
 {
     this.CurrentLoginUser = this.GetUserInfo(email);
     this.InitializeLoggger();
 }
コード例 #18
0
        public override string[] doUpdateDB()
        {
            BaseUserTable UserTable      = null;
            BUser         bUser          = new BUser();
            StringBuilder strError       = new StringBuilder();
            int           successData    = 0;
            int           failureData    = 0;
            string        errorFilePath  = "";
            string        backupFilePath = "";

            //数据导入处理
            foreach (DataRow dr in _csvDataTable.Rows)
            {
                StringBuilder str = new StringBuilder();
                //编号
                if (!string.IsNullOrEmpty(CConvert.ToString(GetValue(dr, "CODE"))))
                {
                    str.Append(CheckString(GetValue(dr, "CODE"), 18, "编号"));
                }
                else
                {
                    str.Append("编号不能为空!");
                }
                //名称
                str.Append(CheckLenght(GetValue(dr, "NAME"), 100, "名称"));
                //密码
                if (!string.IsNullOrEmpty(CConvert.ToString(GetValue(dr, "PASSWORD"))))
                {
                    str.Append(CheckString(GetValue(dr, "PASSWORD"), 50, "密码"));
                }
                //电话
                str.Append(CheckLenght(GetValue(dr, "PHONE"), 20, "电话"));
                //邮箱
                str.Append(CheckLenght(GetValue(dr, "EMIAL"), 50, "邮箱"));
                if (!string.IsNullOrEmpty(CConvert.ToString(GetValue(dr, "DEPARTMENT_CODE"))))
                {
                    str.Append(CheckDepartment(CConvert.ToString(GetValue(dr, "DEPARTMENT_CODE")), "部门"));
                }
                str.Append(CheckCompany(CConvert.ToString(GetValue(dr, "COMPANY_CODE")), "公司"));
                if (!string.IsNullOrEmpty(CConvert.ToString(GetValue(dr, "ROLES_CODE"))))
                {
                    str.Append(CheckRoles(CConvert.ToString(GetValue(dr, "ROLES_CODE")), "角色"));
                }
                //状态
                str.Append(CheckInt(GetValue(dr, "STATUS_FLAG", CConstant.NORMAL), 9, "状态"));
                if (str.ToString().Trim().Length > 0)
                {
                    strError.Append(GetStringBuilder(dr, str.ToString().Trim()));
                    failureData++;
                    continue;
                }
                try
                {
                    UserTable                  = new BaseUserTable();
                    UserTable.CODE             = CConvert.ToString(GetValue(dr, "COMPANY_CODE")) + CConvert.ToString(GetValue(dr, "CODE"));
                    UserTable.NAME             = CConvert.ToString(GetValue(dr, "NAME"));
                    UserTable.PASSWORD         = CConvert.ToString(GetValue(dr, "PASSWORD"));
                    UserTable.PHONE            = CConvert.ToString(GetValue(dr, "PHONE"));
                    UserTable.EMAIL            = CConvert.ToString(GetValue(dr, "EMAIL"));
                    UserTable.DEPARTMENT_CODE  = CConvert.ToString(GetValue(dr, "DEPARTMENT_CODE"));
                    UserTable.COMPANY_CODE     = CConvert.ToString(GetValue(dr, "COMPANY_CODE"));
                    UserTable.ROLES_CODE       = CConvert.ToString(GetValue(dr, "ROLES_CODE"));
                    UserTable.CREATE_USER      = _userInfo.CODE;
                    UserTable.LAST_UPDATE_USER = _userInfo.CODE;

                    UserTable.STATUS_FLAG = CConvert.ToInt32(GetValue(dr, "STATUS_FLAG", CConstant.NORMAL));

                    if (!bUser.Exists(UserTable.CODE, UserTable.COMPANY_CODE))
                    {
                        bUser.Add(UserTable);
                    }
                    else
                    {
                        bUser.Update(UserTable);
                    }
                    successData++;
                }
                catch
                {
                    strError.Append(GetStringBuilder(dr, " 数据导入失败,请与系统管理员联系!").ToString());
                    failureData++;
                }
            }
            //错误记录处理
            if (strError.Length > 0)
            {
                errorFilePath = WriteFile(strError.ToString());
            }

            //备份处理
            backupFilePath = BackupFile();

            return(new string[] { successData.ToString(), failureData.ToString(), errorFilePath, backupFilePath });
        }
コード例 #19
0
        /// <summary>
        /// Khởi tạo các thông tin của form
        /// </summary>
        private void InitData()
        {
            BUser ctl = new BUser();

            //-- Kiểm tra quyền dự thảo
            if (!ctl.HasPermission(Global.UserInfo.UserID, Common.PermissionCode.DocumentReceivedDrap.ToString()) && !Global.IsAdmin())
            {
                Response.Redirect("/");
            }
            //--Pagesize
            if (Request.QueryString["pagesize"] != null)
            {
                try {
                    ddlPageSize.Items.FindByValue(Request.QueryString["pagesize"]).Selected = true;
                }
                catch (Exception ex) { }
            }
            //lbtSearch.Text = Common.PermissionCode.DocumentReceivedDrap.ToString();
            hdfCurrentPage.Value = CurrentPage.ToString();
            ////--Trạng thái
            //if (Request.QueryString["status"] != null)
            //{
            //    try
            //    {
            //        ddlStatus.Items.FindByValue(Request.QueryString["status"]).Selected = true;
            //    }
            //    catch (Exception ex) { }
            //}
            //--Phòng ban
            if (Request.QueryString["dt"] != null)
            {
                try
                {
                    ddlDocumentType.Items.FindByValue(Request.QueryString["dt"]).Selected = true;
                }
                catch (Exception ex) { }
            }
            if (Request.QueryString["key"] != null)
            {
                try
                {
                    txtKey.Text = Server.UrlDecode(Request.QueryString["key"]);
                }
                catch (Exception ex) { }
            }
            //--Tiêu chí tìm kiếm
            if (Request.QueryString["td"] != null)
            {
                try
                {
                    txtStartDate.Text = Server.UrlDecode(Request.QueryString["td"]);
                }
                catch (Exception ex) { }
            }
            if (Request.QueryString["ed"] != null)
            {
                try
                {
                    txtEndDate.Text = Server.UrlDecode(Request.QueryString["ed"]);
                }
                catch (Exception ex) { }
            }
        }
コード例 #20
0
 public void Add(BUser bUser)
 {
     _bUsers.Add(bUser);
 }
コード例 #21
0
 public ProductManager(BUser user, Shop shop, Permission permission)
     : base(user, shop, permission)
 {
     stockManager = new StockManager(user, shop, permission);
 }
コード例 #22
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="user"></param>
        /// <param name="shop_id"></param>
        /// <returns></returns>
        public bool ShopUserVerification(BUser user, int shop_id)
        {
            bool result = false;

            return(result);
        }
コード例 #23
0
 public AgentAdminMenagement(BUser user) : base(user)
 {
 }
コード例 #24
0
        /// <summary>
        /// Calback from Mall Open API Authorization, it will verify if current login user has access to the system
        /// </summary>
        /// <param name="code">returns by Mall Open API Authorization</param>
        /// <returns></returns>
        public Access_Token AuthorizationCallBack(string code)
        {
            Access_Token request_token = null;
            BUser        requester     = new BUser();

            //must get access token after mall authorization to identify user
            request_token = TokenManager.RequestAccessToken(code);
            if (request_token == null)
            {
                throw new KMJXCException("没有获取到Access token", ExceptionLevel.SYSTEM);
            }


            requester.Type = new BMallType()
            {
                ID = this.Mall_Type_ID
            };
            requester.Mall_ID   = request_token.Mall_User_ID;
            requester.Mall_Name = request_token.Mall_User_Name;
            requester.Parent_ID = 0;
            requester.Parent    = null;

            KuanMaiEntities db = new KuanMaiEntities();

            try
            {
                var db_user = from u in db.User
                              where u.Mall_ID == requester.Mall_ID && u.Mall_Name == requester.Mall_Name && u.Mall_Type == this.Mall_Type_ID
                              select new BUser
                {
                    ID        = u.User_ID,
                    Name      = u.Name,
                    Mall_Name = u.Mall_Name,
                    Mall_ID   = u.Mall_ID,
                    Password  = u.Password,
                    Parent_ID = (int)u.Parent_User_ID,
                };
                List <BUser> users = db_user.ToList <BUser>();
                //Create user in local db with mall owner id
                if (users.Count == 0)
                {
                    this.InitializeMallManagers(request_token);

                    if (this.ShopManager == null)
                    {
                        throw new KMJXCException("IShopManager 实例为null", ExceptionLevel.SYSTEM);
                    }

                    //check if current user's shop is ready in system
                    Shop shop = this.ShopManager.GetShop(requester);
                    if (shop == null)
                    {
                        BUser subUser = this.MallUserManager.GetSubUser(requester.Mall_ID, requester.Mall_Name);
                        if (subUser == null)
                        {
                            throw new KMJXCException("用户:" + requester.Mall_Name + " 没有对应的" + ((KM.JXC.BL.Open.OBaseManager) this.ShopManager).MallType.Description + ",并且不属于任何店铺的子账户", ExceptionLevel.ERROR);
                        }
                        else
                        {
                            //
                            if (subUser.Parent == null || string.IsNullOrEmpty(subUser.Parent.Mall_Name))
                            {
                                throw new KMJXCException("用户:" + requester.Mall_Name + " 没有对应的" + ((KM.JXC.BL.Open.OBaseManager) this.ShopManager).MallType.Description + ",并且不属于任何店铺的子账户", ExceptionLevel.ERROR);
                            }

                            BUser mainUser = null;

                            var u = from us in db.User
                                    where us.Mall_ID == subUser.Parent.Mall_ID && us.Mall_Type == requester.Type.ID && us.Mall_Name == subUser.Parent.Mall_Name
                                    select new BUser
                            {
                                ID        = us.User_ID,
                                Name      = us.Name,
                                Mall_Name = us.Mall_Name,
                                Mall_ID   = us.Mall_ID,
                                Password  = us.Password,
                                Parent_ID = (int)us.Parent_User_ID,
                                Type      = new BMallType {
                                    ID = us.Mall_Type
                                }
                            };
                            if (u.ToList <BUser>().Count() == 1)
                            {
                                mainUser = u.ToList <BUser>()[0];
                            }

                            if (mainUser == null)
                            {
                                throw new KMJXCException("主账户:" + subUser.Parent.Mall_Name + " 还没有初始化店铺信息,所有子账户无法登录系统", ExceptionLevel.ERROR);
                            }

                            requester.Parent_ID    = mainUser.ID;
                            requester.Parent       = mainUser;
                            requester.EmployeeInfo = subUser.EmployeeInfo;
                        }
                    }

                    //create user in local db
                    requester.Name     = requester.Mall_Name;
                    requester.Password = Guid.NewGuid().ToString();

                    User dbUser = new User();
                    dbUser.User_ID          = requester.ID;
                    dbUser.Mall_ID          = requester.Mall_ID;
                    dbUser.Mall_Name        = requester.Mall_Name;
                    dbUser.NickName         = "";
                    dbUser.Name             = requester.Name;
                    dbUser.Mall_Type        = requester.Type.ID;
                    dbUser.Parent_Mall_ID   = "";
                    dbUser.Parent_Mall_Name = "";
                    dbUser.Parent_User_ID   = 0;
                    dbUser.Password         = "";
                    dbUser.Name             = dbUser.Mall_Name;
                    dbUser.Created          = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                    dbUser.Modified         = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                    dbUser.Modified_By      = 0;

                    if (requester.Parent != null)
                    {
                        dbUser.Parent_Mall_ID   = requester.Parent.Mall_ID;
                        dbUser.Parent_Mall_Name = requester.Parent.Mall_Name;
                        dbUser.Parent_User_ID   = requester.Parent.ID;
                    }

                    db.User.Add(dbUser);
                    db.SaveChanges();

                    //create access token for the new user
                    request_token.User_ID = dbUser.User_ID;
                    requester.ID          = dbUser.User_ID;
                    db.Access_Token.Add(request_token);

                    //save employee
                    if (requester.Parent_ID > 0 && requester.EmployeeInfo != null)
                    {
                        requester.EmployeeInfo.User_ID = requester.ID;
                        Employee employee = new Employee();
                        employee.Name         = requester.EmployeeInfo.Name;
                        employee.IdentityCard = requester.EmployeeInfo.IdentityCard;
                        employee.MatureDate   = requester.EmployeeInfo.MatureDate;
                        employee.Phone        = requester.EmployeeInfo.Phone;
                        employee.User_ID      = requester.EmployeeInfo.User_ID;
                        employee.HireDate     = requester.EmployeeInfo.HireDate;
                        employee.Gendar       = requester.EmployeeInfo.Gendar;
                        employee.Duty         = requester.EmployeeInfo.Duty;
                        employee.Email        = requester.EmployeeInfo.Email;
                        employee.Department   = requester.EmployeeInfo.Department;
                        employee.BirthDate    = requester.EmployeeInfo.BirthDate;
                        employee.Address      = requester.EmployeeInfo.Address;
                        db.Employee.Add(employee);
                    }

                    if (shop != null)
                    {
                        //create local shop information for the new main user
                        shop.User_ID        = requester.ID;
                        shop.Parent_Shop_ID = 0;
                        shop.Created        = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                        shop.Synced         = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                        db.Shop.Add(shop);
                        db.SaveChanges();

                        //save shop user
                        Shop_User shop_User = new Shop_User();
                        shop_User.User_ID = requester.ID;
                        shop_User.Shop_ID = shop.Shop_ID;
                        db.Shop_User.Add(shop_User);

                        //update dbuser
                        dbUser.Shop_ID = shop.Shop_ID;
                        db.SaveChanges();
                        //create default stock house
                        Store_House shouse = new Store_House();
                        shouse.Shop_ID     = shop.Shop_ID;
                        shouse.Title       = "默认仓库";
                        shouse.User_ID     = requester.ID;
                        shouse.Create_Time = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);
                        db.Store_House.Add(shouse);
                        db.SaveChanges();
                    }

                    if (shop != null && requester.Parent_ID == 0)
                    {
                        //sync mall sub users to system
                        //List<BUser> subUsers = this.MallUserManager.GetSubUsers(requester);
                        //if (subUsers != null && subUsers.Count > 0 && shop.Shop_ID > 0)
                        //{
                        //    foreach (BUser user in subUsers)
                        //    {
                        //        User db1User = new User();
                        //        db1User.Parent_Mall_ID = requester.Mall_ID;
                        //        db1User.Parent_Mall_Name = requester.Mall_Name;
                        //        db1User.Parent_User_ID = (int)requester.ID;
                        //        db1User.Mall_Name = user.Mall_Name;
                        //        db1User.Mall_ID = user.Mall_ID;
                        //        db1User.Mall_Type = user.Type.Mall_Type_ID;
                        //        db1User.Name = user.Name;
                        //        db1User.Password = "";
                        //        db.User.Add(db1User);

                        //        db.SaveChanges();

                        //        if (db1User.User_ID > 0)
                        //        {
                        //            //add shop user
                        //            Shop_User shop_User1 = new Shop_User();
                        //            shop_User1.User_ID = requester.ID;
                        //            shop_User1.Shop_ID = shop.Shop_ID;
                        //            db.Shop_User.Add(shop_User1);

                        //            if (user.EmployeeInfo != null)
                        //            {
                        //                user.EmployeeInfo.User_ID = db1User.User_ID;
                        //                db.Employee.Add(user.EmployeeInfo);
                        //                //db.SaveChanges();
                        //            }
                        //        }
                        //    }

                        //    db.SaveChanges();
                        //}
                    }
                }
                else
                {
                    //Verify if local db has non expried accesstoken
                    requester = users[0];

                    Access_Token local_token = GetLocalToken(requester.ID, this.Mall_Type_ID);
                    if (local_token != null)
                    {
                        long timeNow = DateTimeUtil.ConvertDateTimeToInt(DateTime.Now);

                        //last access token is expried
                        if (timeNow >= local_token.Expirse_In + local_token.Request_Time)
                        {
                            request_token         = TokenManager.RequestAccessToken(code);
                            request_token.User_ID = requester.ID;
                            UpdateLocalAccessToken(request_token);
                        }
                        else
                        {
                            request_token = local_token;
                        }
                    }
                }
            }
            catch (DbEntityValidationException dbex)
            {
                throw new KMJXCException("登录失败,请联系管理员");
            }
            catch (Exception ex)
            {
                throw new KMJXCException(ex.Message, ExceptionLevel.SYSTEM);
            }
            finally
            {
                if (db != null)
                {
                    db.Dispose();
                }
            }

            return(request_token);
        }
コード例 #25
0
        /// <summary>
        /// Add Data To Cache
        /// </summary>
        private DataTable AddDataToCache()
        {
            var userData  = UserData;
            var cacheKey1 = WebUtility.GetCacheKeyName(userData, "important-alarm-source1");
            var cacheKey2 = WebUtility.GetCacheKeyName(userData, "important-alarm-source2");

            HttpRuntime.Cache.Remove(cacheKey1);
            HttpRuntime.Cache.Remove(cacheKey2);

            if (String.IsNullOrEmpty(CountItemField.RawValue.ToString()))
            {
                return(null);
            }
            var values    = WebUtility.StringSplit(CountItemField.RawValue.ToString());
            var beginTime = Convert.ToDateTime(BeginFromDate.Text);
            var endTime   = Convert.ToDateTime(BeginToDate.Text);
            var levels    = new Dictionary <Int32, String>();
            var len       = AlarmLevelMultiCombo.SelectedItems.Count;

            if (len == 0)
            {
                return(null);
            }
            for (int i = 0; i < len; i++)
            {
                var key   = Int32.Parse(AlarmLevelMultiCombo.SelectedItems[i].Value);
                var value = AlarmLevelMultiCombo.SelectedItems[i].Text;
                levels[key] = value;
            }

            var parms = new BUser().GetSysParams(40000001);
            var parm0 = parms.Find(p => p.ParaData == 0);
            var parm1 = parms.Find(p => p.ParaData == 1);
            var parm2 = parms.Find(p => p.ParaData == 2);
            var parm3 = parms.Find(p => p.ParaData == 3);
            var parm4 = parms.Find(p => p.ParaData == 4);
            var parm5 = parms.Find(p => p.ParaData == 5);

            if (parm5 == null)
            {
                return(null);
            }

            var colcnt    = MainGridPanel.ColumnModel.Columns.Count;
            var countType = CountTypeComboBox.SelectedItem.Value;
            var condition = new List <GroupTreeInfo>();
            var source1   = CreateCustomizeTable(colcnt);
            var source2   = new Dictionary <String, List <AlarmInfo> >();

            if (countType.Equals("0"))
            {
                #region Lsc
                foreach (var v in values)
                {
                    var ids = WebUtility.ItemSplit(v);
                    if (ids.Length != 5)
                    {
                        continue;
                    }

                    var lscId       = Int32.Parse(ids[0]);
                    var groupId     = Int32.Parse(ids[1]);
                    var nodeId      = Int32.Parse(ids[2]);
                    var nodeType    = Int32.Parse(ids[3]);
                    var remark      = ids[4];
                    var enmNodeType = Enum.IsDefined(typeof(EnmNodeType), nodeType) ? (EnmNodeType)nodeType : EnmNodeType.Null;
                    if (enmNodeType == EnmNodeType.LSC)
                    {
                        condition.Add(new GroupTreeInfo()
                        {
                            LscID    = lscId,
                            GroupID  = groupId,
                            NodeID   = nodeId,
                            NodeType = enmNodeType,
                            Remark   = remark
                        });
                    }
                }

                var ls = from c in condition
                         group c by new { c.LscID } into g
                    select new { g.Key.LscID };

                foreach (var l in ls)
                {
                    var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == l.LscID); });
                    if (lscUser == null)
                    {
                        continue;
                    }

                    var dr1 = source1.NewRow();
                    dr1[1] = lscUser.LscName;

                    var alarms = WebUtility.GetUserAlarms(userData).FindAll(alarm => alarm.LscID == lscUser.LscID && alarm.StartTime >= beginTime && alarm.StartTime <= endTime);
                    alarms.AddRange(new BAlarm().GetHisAlarms(lscUser.LscID, lscUser.LscName, userData.StandardProtocol, lscUser.Group.GroupNodes, beginTime, endTime));
                    alarms = alarms.FindAll(a => levels.ContainsKey((Int32)a.AlarmLevel));

                    if (alarms.Count > 0)
                    {
                        alarms = (from a in alarms
                                  join n in new BNode().GetNodes(lscUser.LscID, EnmNodeType.Img, null, new string[] { parm5.ParaDisplay }, null) on a.NodeID equals n.NodeID
                                  select a).ToList();
                    }

                    dr1[2] = alarms.Count;
                    source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[2].ColumnName)] = alarms;

                    if (parm0 != null)
                    {
                        var alarm0 = (from a in alarms
                                      group a by new { a.NodeID } into g
                                      where g.Count() >= Int32.Parse(parm0.ParaDisplay)
                                      select new {
                            Alarms = g
                        }).SelectMany(a => a.Alarms).ToList();

                        dr1[3] = alarm0.Count;
                        dr1[4] = String.Format("{0:P2}", alarms.Count > 0 ? (double)alarm0.Count / (double)alarms.Count : 0);
                        source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[3].ColumnName)] = alarm0;
                    }
                    else
                    {
                        dr1[3] = 0;
                        dr1[4] = String.Format("{0:P2}", 0);
                        source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[3].ColumnName)] = new List <AlarmInfo>();
                    }

                    if (parm1 != null)
                    {
                        var interval = Double.Parse(parm1.ParaDisplay);
                        var alarm1   = alarms.FindAll(a => (a.EndTime == WebUtility.DefaultDateTime ? endTime.Subtract(a.StartTime) : a.EndTime.Subtract(a.StartTime)).TotalSeconds <= interval);

                        dr1[5] = alarm1.Count;
                        dr1[6] = String.Format("{0:P2}", alarms.Count > 0 ? (double)alarm1.Count / (double)alarms.Count : 0);
                        source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[5].ColumnName)] = alarm1;
                    }
                    else
                    {
                        dr1[5] = 0;
                        dr1[6] = String.Format("{0:P2}", 0);
                        source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[5].ColumnName)] = new List <AlarmInfo>();
                    }

                    source1.Rows.Add(dr1);
                }
                #endregion
            }
            else if (countType.Equals("1"))
            {
                #region Area=2
                foreach (var v in values)
                {
                    var ids = WebUtility.ItemSplit(v);
                    if (ids.Length != 5)
                    {
                        continue;
                    }

                    var lscId       = Int32.Parse(ids[0]);
                    var groupId     = Int32.Parse(ids[1]);
                    var nodeId      = Int32.Parse(ids[2]);
                    var nodeType    = Int32.Parse(ids[3]);
                    var remark      = ids[4];
                    var enmNodeType = Enum.IsDefined(typeof(EnmNodeType), nodeType) ? (EnmNodeType)nodeType : EnmNodeType.Null;
                    if (enmNodeType == EnmNodeType.Area &&
                        remark.Equals("2"))
                    {
                        condition.Add(new GroupTreeInfo()
                        {
                            LscID    = lscId,
                            GroupID  = groupId,
                            NodeID   = nodeId,
                            NodeType = enmNodeType,
                            Remark   = remark
                        });
                    }
                }

                var ls = from c in condition
                         group c by new { c.LscID } into g
                    select new { g.Key.LscID };

                foreach (var l in ls)
                {
                    var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == l.LscID); });
                    if (lscUser == null)
                    {
                        continue;
                    }

                    var alarms = WebUtility.GetUserAlarms(userData).FindAll(alarm => alarm.LscID == lscUser.LscID && alarm.StartTime >= beginTime && alarm.StartTime <= endTime);
                    alarms.AddRange(new BAlarm().GetHisAlarms(lscUser.LscID, lscUser.LscName, userData.StandardProtocol, lscUser.Group.GroupNodes, beginTime, endTime));
                    alarms = alarms.FindAll(a => levels.ContainsKey((Int32)a.AlarmLevel));

                    var temp0 = from a in alarms
                                join n in new BNode().GetNodes(lscUser.LscID, EnmNodeType.Img, null, new string[] { parm5.ParaDisplay }, null) on a.NodeID equals n.NodeID
                                select new {
                        Node  = n,
                        Alarm = a
                    };

                    var areas = from a in new BOther().GetAreas(lscUser.LscID, lscUser.Group.GroupID, 2)
                                join c in condition on new { a.LscID, a.Area2ID } equals new { c.LscID, Area2ID = c.NodeID }
                    select a;

                    foreach (var area in areas)
                    {
                        var dr1 = source1.NewRow();
                        dr1[1] = area.LscName;
                        dr1[2] = area.Area2Name;

                        var temp3 = temp0.Where(a => a.Node.Area2ID == area.Area2ID);
                        var temp4 = temp3.Any() ? temp3.Select(a => a.Alarm).ToList() : new List <AlarmInfo>();
                        dr1[3] = temp4.Count;
                        source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[3].ColumnName)] = temp4;


                        if (parm0 != null)
                        {
                            var alarm0 = (from a in temp4
                                          group a by new { a.NodeID } into g
                                          where g.Count() >= Int32.Parse(parm0.ParaDisplay)
                                          select new {
                                Alarms = g
                            }).SelectMany(a => a.Alarms).ToList();

                            dr1[4] = alarm0.Count;
                            dr1[5] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm0.Count / (double)temp4.Count : 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[4].ColumnName)] = alarm0;
                        }
                        else
                        {
                            dr1[4] = 0;
                            dr1[5] = String.Format("{0:P2}", 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[4].ColumnName)] = new List <AlarmInfo>();
                        }

                        if (parm1 != null)
                        {
                            var interval = Double.Parse(parm1.ParaDisplay);
                            var alarm1   = temp4.FindAll(a => (a.EndTime == WebUtility.DefaultDateTime ? endTime.Subtract(a.StartTime) : a.EndTime.Subtract(a.StartTime)).TotalSeconds <= interval);

                            dr1[6] = alarm1.Count;
                            dr1[7] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm1.Count / (double)temp4.Count : 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[6].ColumnName)] = alarm1;
                        }
                        else
                        {
                            dr1[6] = 0;
                            dr1[7] = String.Format("{0:P2}", 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[6].ColumnName)] = new List <AlarmInfo>();
                        }

                        source1.Rows.Add(dr1);
                    }
                }
                #endregion
            }
            else if (countType.Equals("2"))
            {
                #region Area=3
                foreach (var v in values)
                {
                    var ids = WebUtility.ItemSplit(v);
                    if (ids.Length != 5)
                    {
                        continue;
                    }

                    var lscId       = Int32.Parse(ids[0]);
                    var groupId     = Int32.Parse(ids[1]);
                    var nodeId      = Int32.Parse(ids[2]);
                    var nodeType    = Int32.Parse(ids[3]);
                    var remark      = ids[4];
                    var enmNodeType = Enum.IsDefined(typeof(EnmNodeType), nodeType) ? (EnmNodeType)nodeType : EnmNodeType.Null;
                    if (enmNodeType == EnmNodeType.Area &&
                        remark.Equals("3"))
                    {
                        condition.Add(new GroupTreeInfo()
                        {
                            LscID    = lscId,
                            GroupID  = groupId,
                            NodeID   = nodeId,
                            NodeType = enmNodeType,
                            Remark   = remark
                        });
                    }
                }

                var ls = from c in condition
                         group c by new { c.LscID } into g
                    select new { g.Key.LscID };

                foreach (var l in ls)
                {
                    var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == l.LscID); });
                    if (lscUser == null)
                    {
                        continue;
                    }

                    var alarms = WebUtility.GetUserAlarms(userData).FindAll(alarm => alarm.LscID == lscUser.LscID && alarm.StartTime >= beginTime && alarm.StartTime <= endTime);
                    alarms.AddRange(new BAlarm().GetHisAlarms(lscUser.LscID, lscUser.LscName, userData.StandardProtocol, lscUser.Group.GroupNodes, beginTime, endTime));
                    alarms = alarms.FindAll(a => levels.ContainsKey((Int32)a.AlarmLevel));

                    var temp0 = from a in alarms
                                join n in new BNode().GetNodes(lscUser.LscID, EnmNodeType.Img, null, new string[] { parm5.ParaDisplay }, null) on a.NodeID equals n.NodeID
                                select new {
                        Node  = n,
                        Alarm = a
                    };

                    var areas = from a in new BOther().GetAreas(lscUser.LscID, lscUser.Group.GroupID, 3)
                                join c in condition on new { a.LscID, a.Area3ID } equals new { c.LscID, Area3ID = c.NodeID }
                    select a;

                    foreach (var area in areas)
                    {
                        var dr1 = source1.NewRow();
                        dr1[1] = area.LscName;
                        dr1[2] = area.Area2Name;
                        dr1[3] = area.Area3Name;

                        var temp3 = temp0.Where(a => a.Node.Area3ID == area.Area3ID);
                        var temp4 = temp3.Any() ? temp3.Select(a => a.Alarm).ToList() : new List <AlarmInfo>();
                        dr1[4] = temp4.Count;
                        source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[4].ColumnName)] = temp4;

                        if (parm0 != null)
                        {
                            var alarm0 = (from a in temp4
                                          group a by new { a.NodeID } into g
                                          where g.Count() >= Int32.Parse(parm0.ParaDisplay)
                                          select new {
                                Alarms = g
                            }).SelectMany(a => a.Alarms).ToList();

                            dr1[5] = alarm0.Count;
                            dr1[6] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm0.Count / (double)temp4.Count : 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[5].ColumnName)] = alarm0;
                        }
                        else
                        {
                            dr1[5] = 0;
                            dr1[6] = String.Format("{0:P2}", 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[5].ColumnName)] = new List <AlarmInfo>();
                        }

                        if (parm1 != null)
                        {
                            var interval = Double.Parse(parm1.ParaDisplay);
                            var alarm1   = temp4.FindAll(a => (a.EndTime == WebUtility.DefaultDateTime ? endTime.Subtract(a.StartTime) : a.EndTime.Subtract(a.StartTime)).TotalSeconds <= interval);

                            dr1[7] = alarm1.Count;
                            dr1[8] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm1.Count / (double)temp4.Count : 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[7].ColumnName)] = alarm1;
                        }
                        else
                        {
                            dr1[7] = 0;
                            dr1[8] = String.Format("{0:P2}", 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[7].ColumnName)] = new List <AlarmInfo>();
                        }

                        source1.Rows.Add(dr1);
                    }
                }
                #endregion
            }
            else if (countType.Equals("3"))
            {
                #region Station
                foreach (var v in values)
                {
                    var ids = WebUtility.ItemSplit(v);
                    if (ids.Length != 5)
                    {
                        continue;
                    }

                    var lscId       = Int32.Parse(ids[0]);
                    var groupId     = Int32.Parse(ids[1]);
                    var nodeId      = Int32.Parse(ids[2]);
                    var nodeType    = Int32.Parse(ids[3]);
                    var remark      = ids[4];
                    var enmNodeType = Enum.IsDefined(typeof(EnmNodeType), nodeType) ? (EnmNodeType)nodeType : EnmNodeType.Null;
                    if (enmNodeType == EnmNodeType.Area &&
                        remark.Equals("3"))
                    {
                        condition.Add(new GroupTreeInfo()
                        {
                            LscID    = lscId,
                            GroupID  = groupId,
                            NodeID   = nodeId,
                            NodeType = enmNodeType,
                            Remark   = remark
                        });
                    }
                }

                var ls = from c in condition
                         group c by new { c.LscID } into g
                    select new { g.Key.LscID };

                foreach (var l in ls)
                {
                    var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == l.LscID); });
                    if (lscUser == null)
                    {
                        continue;
                    }

                    var alarms = WebUtility.GetUserAlarms(userData).FindAll(alarm => alarm.LscID == lscUser.LscID && alarm.StartTime >= beginTime && alarm.StartTime <= endTime);
                    alarms.AddRange(new BAlarm().GetHisAlarms(lscUser.LscID, lscUser.LscName, userData.StandardProtocol, lscUser.Group.GroupNodes, beginTime, endTime));
                    alarms = alarms.FindAll(a => levels.ContainsKey((Int32)a.AlarmLevel));

                    var temp0 = from a in alarms
                                join n in new BNode().GetNodes(lscUser.LscID, EnmNodeType.Img, null, new string[] { parm5.ParaDisplay }, null) on a.NodeID equals n.NodeID
                                select new {
                        Node  = n,
                        Alarm = a
                    };

                    var stations = from c in condition
                                   join s in new BOther().GetStations(lscUser.LscID, lscUser.Group.GroupID) on new { c.LscID, Area3ID = c.NodeID } equals new { s.LscID, s.Area3ID }
                    select s;

                    foreach (var sta in stations)
                    {
                        var dr1 = source1.NewRow();
                        dr1[1] = sta.LscName;
                        dr1[2] = sta.Area2Name;
                        dr1[3] = sta.Area3Name;
                        dr1[4] = sta.StaName;

                        var temp3 = temp0.Where(a => a.Node.StaID == sta.StaID);
                        var temp4 = temp3.Any() ? temp3.Select(a => a.Alarm).ToList() : new List <AlarmInfo>();
                        dr1[5] = temp4.Count;
                        source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[5].ColumnName)] = temp4;

                        if (parm0 != null)
                        {
                            var alarm0 = (from a in temp4
                                          group a by new { a.NodeID } into g
                                          where g.Count() >= Int32.Parse(parm0.ParaDisplay)
                                          select new {
                                Alarms = g
                            }).SelectMany(a => a.Alarms).ToList();

                            dr1[6] = alarm0.Count;
                            dr1[7] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm0.Count / (double)temp4.Count : 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[6].ColumnName)] = alarm0;
                        }
                        else
                        {
                            dr1[6] = 0;
                            dr1[7] = String.Format("{0:P2}", 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[6].ColumnName)] = new List <AlarmInfo>();
                        }

                        if (parm1 != null)
                        {
                            var interval = Double.Parse(parm1.ParaDisplay);
                            var alarm1   = temp4.FindAll(a => (a.EndTime == WebUtility.DefaultDateTime ? endTime.Subtract(a.StartTime) : a.EndTime.Subtract(a.StartTime)).TotalSeconds <= interval);

                            dr1[8] = alarm1.Count;
                            dr1[9] = String.Format("{0:P2}", temp4.Count > 0 ? (double)alarm1.Count / (double)temp4.Count : 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[8].ColumnName)] = alarm1;
                        }
                        else
                        {
                            dr1[8] = 0;
                            dr1[9] = String.Format("{0:P2}", 0);
                            source2[String.Format("{0}-{1}", source1.Rows.Count, source1.Columns[8].ColumnName)] = new List <AlarmInfo>();
                        }

                        source1.Rows.Add(dr1);
                    }
                }
                #endregion
            }

            var cacheDuration = Int32.Parse(WebConfigurationManager.AppSettings["DefaultCacheDuration"]);
            HttpRuntime.Cache.Insert(cacheKey1, source1, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null);
            HttpRuntime.Cache.Insert(cacheKey2, source2, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(cacheDuration), CacheItemPriority.Default, null);
            return(source1);
        }
コード例 #26
0
        private void btnConnect_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;

            if (rbtLocal.Checked)
            {
                if (cboInstanceConnection.SelectedIndex > -1)
                {
                    Settings.Default["Local"]    = rbtLocal.Checked ? "True" : "False";
                    Settings.Default["Instance"] = cboInstanceConnection.Text;
                    Settings.Default.Save();

                    if (BUser.GetCountAllUsers() > 0)
                    {
                        MessageBox.Show("The connection test was done successfully.", Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        objForm_002.Show();
                        Close();
                    }
                    else
                    {
                        MessageBox.Show("The connection could not be established. We ask that:\r\n• Verify that the SQL Server engine is turned on\r\n• Verify that the data structure is correctly installed.", Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        cboInstanceConnection.Focus();
                    }
                }
                else
                {
                    MessageBox.Show("There isn't any instance selected.", Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            else
            {
                if (mskIP.Text.Split('.')[0].Length > 0 && mskIP.Text.Split('.')[1].Length > 0 && mskIP.Text.Split('.')[2].Length > 0 && mskIP.Text.Split('.')[3].Length > 0)
                {
                    Settings.Default["Local"] = rbtLocal.Checked ? "True" : "False";
                    Settings.Default["IP"]    = mskIP.Text.Split('.')[0].Trim().PadLeft(3, '0') + "." + mskIP.Text.Split('.')[1].Trim().PadLeft(3, '0') + "." + mskIP.Text.Split('.')[2].Trim().PadLeft(3, '0') + "." + mskIP.Text.Split('.')[3].Trim().PadLeft(3, '0');
                    Settings.Default["Port"]  = nupdPort.Value.ToString();
                    Settings.Default.Save();


                    if (BUser.GetCountAllUsers() > 0)
                    {
                        MessageBox.Show("The connection test was done successfully.", Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        objForm_002.Show();
                        Close();
                    }
                    else
                    {
                        MessageBox.Show("The connection could not be established. We ask that:\r\n• Verify that the SQL Server engine on the server is turned on\r\n• Verify that the data structure is correctly installed on the server.", Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        mskIP.Focus();
                    }
                }
                else
                {
                    MessageBox.Show("The selected ip is not correct.", Preferences.TitleSoftware, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

                    mskIP.Focus();
                }
            }

            Cursor = Cursors.Default;
        }
コード例 #27
0
ファイル: SaleController.cs プロジェクト: 21ki/kuanmai
        public PQGridData SearchBackSaleDetails()
        {
            PQGridData      data         = new PQGridData();
            HttpContextBase context      = (HttpContextBase)Request.Properties["MS_HttpContext"];
            HttpRequestBase request      = context.Request;
            string          user_id      = User.Identity.Name;
            UserManager     userMgr      = new UserManager(int.Parse(user_id), null);
            BUser           user         = userMgr.CurrentUser;
            StockManager    stockManager = new StockManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            SalesManager    saleManager  = new SalesManager(userMgr.CurrentUser, userMgr.Shop, userMgr.CurrentUserPermission);
            int             page         = 1;
            int             pageSize     = 30;
            int             sale_id      = 0;
            int             back_id      = 0;
            int             uid          = 0;
            long            stime        = 0;
            long            etime        = 0;
            int?            status       = null;
            int             status1      = 0;
            string          state        = request["status"];

            if (!string.IsNullOrEmpty(state))
            {
                int.TryParse(state, out status1);
                status = status1;
            }

            if (!string.IsNullOrEmpty(request["sdate"]))
            {
                DateTime sdate = DateTime.MinValue;
                DateTime.TryParse(request["sdate"], out sdate);
                if (sdate != DateTime.MinValue)
                {
                    stime = DateTimeUtil.ConvertDateTimeToInt(sdate);
                }
            }
            if (!string.IsNullOrEmpty(request["edate"]))
            {
                DateTime edate = DateTime.MinValue;
                DateTime.TryParse(request["edate"], out edate);
                if (edate != DateTime.MinValue)
                {
                    etime = DateTimeUtil.ConvertDateTimeToInt(edate);
                }
            }
            int.TryParse(request["page"], out page);
            int.TryParse(request["pageSize"], out pageSize);
            int.TryParse(request["sale_id"], out sale_id);
            int.TryParse(request["back_id"], out back_id);
            int.TryParse(request["user_id"], out uid);
            int total = 0;

            int[] backids = null;
            if (back_id > 0)
            {
                backids = new int[] { back_id };
            }
            int[] userids = null;
            if (uid > 0)
            {
                userids = new int[] { uid };
            }
            string[] saleids = null;
            if (sale_id > 0)
            {
                saleids = new string[] { sale_id.ToString() };
            }
            data.data         = saleManager.SearchBackSaleDetails(saleids, userids, status, stime, etime, page, pageSize, out total);
            data.curPage      = page;
            data.totalRecords = total;
            return(data);
        }
コード例 #28
0
 public BaseManagement(BUser user)
 {
     this.CurrentLoginUser = user;
     this.InitializeLoggger();
 }
コード例 #29
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            int         WorkID  = int.Parse(Request.QueryString["WorkID"].ToString());
            CultureInfo culture = new CultureInfo("fr-FR", true);

            //Upload File
            DateTime CurrentTime = DateTime.Now;
            string   day         = CurrentTime.Day.ToString();
            string   month       = CurrentTime.Month.ToString();
            string   year        = CurrentTime.Year.ToString();
            string   hour        = CurrentTime.Hour.ToString();
            string   minute      = CurrentTime.Minute.ToString();
            string   millisecond = CurrentTime.Millisecond.ToString();
            string   str         = "-" + day + "-" + month + "-" + year + "-" + "-" + hour + "-" + minute + "-" + millisecond;

            //Lấy danh sách file Attach
            BAttach            Bobj = new BAttach();
            HttpFileCollection hfc  = Request.Files;
            int    n        = hfc.Count;
            string listFile = ",";

            try
            {
                // Get the HttpFileCollection

                for (int i = 0; i < hfc.Count; i++)
                {
                    HttpPostedFile hpf = hfc[i];
                    if (hpf.ContentLength > 0)
                    {
                        hpf.SaveAs(Server.MapPath("/MyFiles") + "/" + System.IO.Path.GetFileNameWithoutExtension(hpf.FileName).Replace(" ", "_") + str + System.IO.Path.GetExtension(hpf.FileName));
                        OAttach obj = new OAttach();
                        obj.Name        = System.IO.Path.GetFileName(hpf.FileName);
                        obj.Path        = "~/MyFiles" + "/" + System.IO.Path.GetFileNameWithoutExtension(hpf.FileName).Replace(" ", "_") + str + System.IO.Path.GetExtension(hpf.FileName);
                        obj.Description = "";
                        Bobj.Add(obj);
                        listFile += Bobj.GetLast().FirstOrDefault().AttachID.ToString() + ",";
                    }
                }
            }
            catch (Exception ex)
            {
            }


            //Lấy danh sách người thực hiện công việc

            string UserJoin = hdfUsers.Value;

            if (UserJoin == ",")
            {
                UserJoin = "";
            }
            else
            {
                UserJoin = "," + UserJoin;
            }
            //Lấy mức độ ưu tiên
            string Priority = string.Empty;

            if (rdoPrior1.Checked == true)
            {
                Priority = "RAT_QUAN_TRONG";
            }
            else if (rdoPrior2.Checked == true)
            {
                Priority = "QUAN_TRONG";
            }
            else
            {
                Priority = "BINH_THUONG";
            }

            // Cập nhật công việc
            OWork objWork = new OWork();
            BWork _BWork  = new BWork();

            objWork = _BWork.GetWork(WorkID).First();

            string Name        = txtWorkName.Text;
            string Description = txtDescription.Text;
            string Content     = txtContent.Text;
            string Attachs     = objWork.Attachs;

            if (listFile != ",")
            {
                Attachs = Attachs.Remove(Attachs.Length - 1, 1) + listFile;
            }
            int    IDUserCreate  = objWork.IDUserCreate;
            string IDUserProcess = "";
            //-- Kiểm tra quyền giao việc
            BUser ctl = new BUser();

            if (ctl.HasPermission(Global.UserInfo.UserID, PermissionCode.WorkAssignment.ToString()) || Global.IsAdmin())
            {
                IDUserProcess = UserJoin;
            }
            else
            {
                IDUserProcess = "," + Global.UserInfo.UserName + ",";
            }


            int      IDWorkGroup = int.Parse(ddlWorkGroup.SelectedValue);
            DateTime CreateDate  = objWork.CreateDate;
            string   Status      = "CHUA_GIAO";
            // Priority = Priority;
            DateTime StartProcess = DateTime.Parse(txtStartDate.Text, culture, DateTimeStyles.NoCurrentDateDefault);
            DateTime EndProcess   = DateTime.Parse(txtEndDate.Text, culture, DateTimeStyles.NoCurrentDateDefault);

            BWork BobjWork = new BWork();

            if (BobjWork.Update(WorkID, Name, Description, Content, Attachs, IDUserCreate, IDUserProcess, CreateDate, StartProcess, EndProcess, Status, Priority, IDWorkGroup))
            {
                RegisterClientScriptBlock("NOTE", "<script>alert('Cập nhật thành công');</script>");
            }
            else
            {
                RegisterClientScriptBlock("NOTE", "<script>alert('Công việc chưa được cập nhật');</script>");
            }
            Response.Redirect(Request.Url.AbsoluteUri);
        }
コード例 #30
0
 public PermissionManagement(BUser user) : base(user)
 {
 }