示例#1
0
        public ActionResult OperLog2(Dictionary <string, string> queryvalues)
        {
            int _page = queryvalues.ContainsKey("page") ? Convert.ToInt32(queryvalues["page"]) : 1;

            string _StartDate      = queryvalues.ContainsKey("StartTime") ? queryvalues["StartTime"] : DateTime.Now.ToString("yyyy-MM-dd 00:00:00");
            string _ExpirationDate = queryvalues.ContainsKey("EndTime") ? queryvalues["EndTime"] : DateTime.Now.AddDays(1).ToString("yyyy-MM-dd 00:00:00");

            string      UserAccount = queryvalues.ContainsKey("UserAccount") ? queryvalues["UserAccount"] : "";
            OperLogView olv         = new OperLogView
            {
                StartTime   = _StartDate,
                EndTime     = _ExpirationDate,
                UserAccount = UserAccount,
                Page        = _page
            };



            if (Request.IsAjaxRequest())
            {
                return(PartialView("OperLog2_PageList", OperLogBLL.GetListByPageForOperLog2(olv)));
            }

            olv.DataList = OperLogBLL.GetListByPageForOperLog2(olv);

            return(View(olv));
        }
        private void OperLog(string Action, ActionExecutingContext filterContext, string UserName)
        {
            HttpRequestBase Request     = filterContext.HttpContext.Request;
            string          queryvalues = "";

            if (!((filterContext.RouteData.Values["queryvalues"] == null) || string.IsNullOrWhiteSpace(filterContext.RouteData.Values["queryvalues"].ToString())))
            {
                queryvalues = filterContext.RouteData.Values["queryvalues"].ToString();
            }

            Dictionary <string, string> queryvalueslist = Utils.GetDicFormUrl(queryvalues);

            if (filterContext.HttpContext.Request.QueryString.Count > 0)
            {
                foreach (string key in filterContext.HttpContext.Request.QueryString)
                {
                    queryvalueslist.Add(key, filterContext.HttpContext.Request.QueryString[key]);
                }
            }
            if (filterContext.HttpContext.Request.Form.Count > 0)
            {
                foreach (string key in filterContext.HttpContext.Request.Form)
                {
                    queryvalueslist.Add(key, filterContext.HttpContext.Request.Form[key]);
                }
            }

            string param = "";
            string value = "";
            int    i     = 0;

            foreach (var item in queryvalueslist)
            {
                if (i == 0)
                {
                    param += "%%" + item.Key + ":%%";
                    value += item.Key + ":" + item.Value;
                }
                else
                {
                    param += ("%%%" + item.Key + ":%%%");
                    value += "," + item.Key + ":" + item.Value;
                }
                i++;
            }

            string Method = Request.HttpMethod;


            //// 'Channels:%StartDate:%%ExpirationDate:%'
            if (value.Length > 200)
            {
                OperLogBLL.WriteOperLog(Action, param, UserName, Request.UserHostAddress);
            }
            else
            {
                OperLogBLL.WriteOperLog(Action, param, value, UserName, Request.UserHostAddress);
            }
        }
示例#3
0
        //[ValidateAntiForgeryToken]
        public async Task <ActionResult> login(MLogin _login, string returnUrl)
        {
            string yzm     = _login.YZM;
            string sessYZM = Session["ValidateCode"].ToString();



            var user = await UserManager.FindByNameAsync(_login.UserName);

            string username = _login.UserName;
            string passwd   = _login.Password;

            if (user == null || string.IsNullOrEmpty(user.UserName))
            {
                return(Json(
                           new { result = Result.UserDoesNotExist }
                           ));
            }

            ASPNetUserLimit limit = OperLogBLL.GetASPNetUserLimit(new ASPNetUserLimit()
            {
                Username = username
            });

            if (limit != null)
            {
                if (limit.ErrorNum >= 3)
                {
                    return(Json(
                               new { result = Result.ParaErrorCount }
                               ));
                }
            }


            if (_login.UserName != "admin")
            {
                if (yzm != sessYZM)
                {
                    OperLogBLL.UpdateASPNetUserLimit(new ASPNetUserLimit()
                    {
                        Username = username
                    });

                    return(Json(
                               new { result = Result.ParaYZMError }
                               ));
                }
            }
            // 这不会计入到为执行帐户锁定而统计的登录失败次数中
            // 若要在多次输入错误密码的情况下触发帐户锁定,请更改为 shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(username, passwd, isPersistent : true, shouldLockout : false);

            switch (result)
            {
            case SignInStatus.Success:
                //用户登录成功
                AfterLoginSucess(username);

                //SUBLL.AddLog(new LogInfo()
                //{
                //    UserAccount = username,
                //    Detail = "",
                //    Content = "登入",
                //    CreateTime = DateTime.Now,
                //    LoginIP = Request.UserHostAddress,
                //    OperModule = "登录后台"
                //});



                OperLogBLL.InsertOperLog(new OperLog()
                {
                    CreateTime  = DateTime.Now.ToString(),
                    LeftMenu    = "登入",
                    OperDetail  = "",
                    OperType    = "登入",
                    UserAccount = username,
                    UserName    = username,
                    IP          = Request.UserHostAddress
                });

                OperLogBLL.UpdateASPNetUserReset(new ASPNetUserLimit()
                {
                    Username = username
                });

                return(Json(RedirectToLocal(returnUrl)));

            case SignInStatus.LockedOut:
            //return View("Lockout");
            case SignInStatus.RequiresVerification:
            //return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            case SignInStatus.Failure:
            default:
                //ModelState.AddModelError("", "无效的登录尝试。");
                //return View(model);

                OperLogBLL.UpdateASPNetUserLimit(new ASPNetUserLimit()
                {
                    Username = username
                });


                return(Json(new { result = Result.PasswordIsIncorrect }));
            }
        }
示例#4
0
        protected void save_Click(object sender, EventArgs e)
        {
            var stDal        = new sdk_task_dal();
            var ids          = Request.QueryString["taskIds"];
            var thisTaskList = stDal.GetTaskByIds(ids, $" and type_id in ({(int)DicEnum.TASK_TYPE.PROJECT_TASK},{(int)DicEnum.TASK_TYPE.PROJECT_ISSUE})");

            if (thisTaskList != null && thisTaskList.Count > 0)
            {
                var pageTitle           = Request.Form["title"];
                var pageStatu           = Request.Form["status_id"];
                var pagePriority        = Request.Form["priority"];
                var displayIsChange     = noChange.Checked;
                var pageEstimated_hours = Request.Form["estimated_hours"];
                var pageDepa            = Request.Form["department_id"];
                var pageRes             = Request.Form["owner_resource_id"];
                var user   = UserInfoBLL.GetUserInfo(GetLoginUserId());
                var ctaDal = new v_task_all_dal();
                foreach (var thisTask in thisTaskList)
                {
                    if (pageTitle != "多个值-保持不变")
                    {
                        if (!string.IsNullOrEmpty(pageTitle))
                        {
                            thisTask.title = pageTitle;
                        }
                    }
                    if (pageStatu != "0")
                    {
                        thisTask.status_id = int.Parse(pageStatu);
                    }
                    if (!string.IsNullOrEmpty(pagePriority))
                    {
                        thisTask.priority = int.Parse(pagePriority);
                    }
                    if (!displayIsChange)  // 代表页面上选择进行更改
                    {
                        if (DisplayInCapNone.Checked)
                        {
                            thisTask.is_visible_in_client_portal = 0;
                        }
                        else
                        {
                            thisTask.is_visible_in_client_portal = 1;
                            if (DisplayInCapYes.Checked)
                            {
                                thisTask.can_client_portal_user_complete_task = 1;
                            }
                            else if (DisplayInCapYesNoComplete.Checked)
                            {
                                thisTask.can_client_portal_user_complete_task = 0;
                            }
                        }
                    }
                    if (!typeNoChange.Checked)
                    {
                        if (TaskTypeFixedWork.Checked)
                        {
                            thisTask.estimated_type_id = (int)DicEnum.TIME_ENTRY_METHOD_TYPE.FIXWORK;
                        }
                        else if (TaskTypeFixedDuration.Checked)
                        {
                            thisTask.estimated_type_id = (int)DicEnum.TIME_ENTRY_METHOD_TYPE.FIXDURATION;
                        }
                    }
                    if (!string.IsNullOrEmpty(pageEstimated_hours))
                    {
                        thisTask.estimated_hours = decimal.Parse(pageEstimated_hours);
                        var vTask = ctaDal.FindById(thisTask.id);
                        if (vTask != null)
                        {
                            thisTask.projected_variance = (vTask.worked_hours == null ? 0 : (decimal)vTask.worked_hours) - (thisTask.estimated_hours + (vTask.change_Order_Hours == null ? 0 : (decimal)vTask.change_Order_Hours)) + (vTask.remain_hours == null ? 0 : (decimal)vTask.remain_hours);
                        }
                    }
                    if (pageDepa != "0")
                    {
                        if (!string.IsNullOrEmpty(pageDepa))
                        {
                            thisTask.department_id = int.Parse(pageDepa);
                        }
                        else
                        {
                            thisTask.department_id = null;
                        }
                    }
                    if (pageRes != "0")
                    {
                        if (!string.IsNullOrEmpty(pageRes))
                        {
                            thisTask.owner_resource_id = long.Parse(pageRes);
                        }
                        else
                        {
                            thisTask.owner_resource_id = null;
                        }
                    }
                    OperLogBLL.OperLogUpdate <sdk_task>(thisTask, stDal.FindNoDeleteById(thisTask.id), thisTask.id, GetLoginUserId(), OPER_LOG_OBJ_CATE.PROJECT_TASK, "修改task");
                    stDal.Update(thisTask);
                    var thisUdfValue = udfBLL.GetUdfValue(UDF_CATE.TASK, thisTask.id, udfTaskPara);
                    if (udfTaskPara != null && udfTaskPara.Count > 0)                      // 首先判断是否有自定义信息
                    {
                        var list = new List <UserDefinedFieldValue>();
                        foreach (var udf in udfTaskPara)                            // 循环添加
                        {
                            var new_udf = new UserDefinedFieldValue();
                            // if(udf.data_type != (int)EMT.DoneNOW.DTO.DicEnum.UDF_DATA_TYPE.LIST) // todo,根据类型去取值
                            new_udf.id = udf.id;
                            var thisvv = Request.Form[udf.id.ToString()];
                            if (thisvv == "多个值-保持不变")
                            {
                                new_udf.value = thisUdfValue.FirstOrDefault(_ => _.id == udf.id).value;
                            }
                            else
                            {
                                new_udf.value = thisvv == "" ? null : thisvv;
                            }
                            list.Add(new_udf);
                        }
                        udfBLL.UpdateUdfValue(UDF_CATE.TASK, udfTaskPara, thisTask.id, list, user, OPER_LOG_OBJ_CATE.PROJECT_TASK);
                    }
                }
            }
            ClientScript.RegisterStartupScript(this.GetType(), "提示信息", "<script>alert('保存成功!');window.close();self.opener.location.reload();</script>");
        }