Exemple #1
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="vm"></param>
        /// <returns></returns>
        public ResponseStatusView SaveResponse(ResponseStatusView vm)
        {
            if (vm == null)
            {
                return(null);
            }
            using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql))
            {
                if (vm.ID.HasValue)
                {
                    dbContext.Update("responsestatus").Column("Status", vm.Status)
                    .Column("StartTime", vm.StartTime)
                    .Column("EndTime", vm.EndTime)
                    .Column("Inputer", vm.Inputer)
                    .Column("InputerID", vm.InputerID)
                    .Where("ID", vm.ID.Value)
                    .Execute();
                }
                else
                {
                    vm.ID = dbContext.Insert("responsestatus").Column("Status", vm.Status)
                            .Column("StartTime", vm.StartTime)
                            .Column("EndTime", vm.EndTime)
                            .Column("Inputer", vm.Inputer)
                            .Column("InputerID", vm.InputerID)
                            .ExecuteReturnLastId <int>();
                }

                return(vm);
            }
        }
        /// <summary>
        /// 获取最新响应状态
        /// </summary>
        /// <returns></returns>
        public ResponseStatusView GetResponseStatus()
        {
            string sql = @" select * from responsestatus ORDER BY ID DESC  LIMIT 0,1 ";

            using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql))
            {
                ResponseStatusView resVM = dbContext.Sql(sql).QuerySingle <ResponseStatusView>(reader =>
                {
                    ResponseStatusView temp = new ResponseStatusView();

                    if (!string.IsNullOrEmpty(reader["ID"].ToString()))
                    {
                        temp.ID = reader.AsInt("ID");
                    }

                    if (!string.IsNullOrEmpty(reader["Status"].ToString()))
                    {
                        temp.Status = reader.AsInt("Status");
                    }

                    if (!string.IsNullOrEmpty(reader["StartTime"].ToString()))
                    {
                        temp.StartTime = Convert.ToDateTime(reader["StartTime"]);
                    }

                    if (!string.IsNullOrEmpty(reader["EndTime"].ToString()))
                    {
                        temp.EndTime = Convert.ToDateTime(reader["EndTime"]);
                    }

                    if (!string.IsNullOrEmpty(reader["InputerID"].ToString()))
                    {
                        temp.InputerID = reader.AsInt("InputerID");
                    }

                    if (!string.IsNullOrEmpty(reader["Inputer"].ToString()))
                    {
                        temp.Inputer = reader.AsString("InputerID");
                    }

                    return(temp);
                });

                //若表一条数据没有,则创建一条状态为'应急'的数据
                if (resVM == null)
                {
                    resVM    = new ResponseStatusView();
                    resVM.ID = dbContext.Insert("responsestatus").Column("Status", (int)EnumResponseStatus.应急)
                               .ExecuteReturnLastId <int>();
                    resVM.Status = (int)EnumResponseStatus.应急;
                }

                return(resVM);
            }
        }
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="vm"></param>
        /// <returns></returns>
        public ActionResult SaveResponse(ResponseStatusView vm)
        {
            if (vm == null)
            {
                return(Json(new
                {
                    Code = -400,
                    Msg = "参数不能为空",
                }));
            }

            try
            {
                ResponseStatusService rpSV = new ResponseStatusService();

                vm.Inputer   = UserData.Name;
                vm.InputerID = UserData.UserId;
                vm           = rpSV.SaveResponse(vm);

                #region 日志

                var log = new LogVM()
                {
                    Operator    = this.UserData.Name,
                    OperatorID  = this.UserData.UserId,
                    RoleType    = this.UserData.RoleType,
                    OperateTime = DateTime.Now,
                    OperateType = (int)EnumOperateType.编辑
                };

                log.OperateDescribe = ((EnumOperateType)log.OperateType).ToString() + "响应状态";
                Logger.AddLog(log);

                #endregion

                return(Json(new
                {
                    Code = 200,
                    Msg = "保存成功",
                    Data = new
                    {
                        ID = vm.ID,
                        Status = vm.Status,
                        StatusText = ((EnumResponseStatus)vm.Status).ToString()
                    }
                }));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public ActionResult Edit(int responseId = 0)
 {
     try
     {
         ResponseStatusView vm = new ResponseStatusService().GetResponseStatusByID(responseId);
         if (vm == null)
         {
             vm = new ResponseStatusView();
         }
         return(View("Edit", vm));
     }
     catch (Exception ex)
     {
         LogHelper.WriteLog(ex.Message);
         throw ex;
     }
 }
Exemple #5
0
        /// <summary>
        /// 通过Id获取响应状态详情
        /// </summary>
        /// <param name="responseStatusId"></param>
        /// <returns></returns>
        public ResponseStatusView GetResponseStatusByID(int ID)
        {
            string sql = string.Format(@" select * from responsestatus where ID = {0} ", ID);

            using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connWXB, DbProviderTypes.MySql))
            {
                ResponseStatusView resVM = dbContext.Sql(sql).QuerySingle <ResponseStatusView>(reader =>
                {
                    ResponseStatusView temp = new ResponseStatusView();

                    if (!string.IsNullOrEmpty(reader["ID"].ToString()))
                    {
                        temp.ID = reader.AsInt("ID");
                    }

                    if (!string.IsNullOrEmpty(reader["Status"].ToString()))
                    {
                        temp.Status = reader.AsInt("Status");
                    }

                    if (!string.IsNullOrEmpty(reader["StartTime"].ToString()))
                    {
                        temp.StartTime = Convert.ToDateTime(reader["StartTime"]);
                    }

                    if (!string.IsNullOrEmpty(reader["EndTime"].ToString()))
                    {
                        temp.EndTime = Convert.ToDateTime(reader["EndTime"]);
                    }

                    if (!string.IsNullOrEmpty(reader["InputerID"].ToString()))
                    {
                        temp.InputerID = reader.AsInt("InputerID");
                    }

                    if (!string.IsNullOrEmpty(reader["Inputer"].ToString()))
                    {
                        temp.Inputer = reader.AsString("InputerID");
                    }

                    return(temp);
                });

                return(resVM);
            }
        }
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="vm"></param>
        /// <returns></returns>
        public ActionResult SaveResponse(ResponseStatusView vm)
        {
            if (vm == null)
            {
                return(Json(new
                {
                    Code = -400,
                    Msg = "参数不能为空",
                }));
            }

            try
            {
                ResponseStatusService rpSV = new ResponseStatusService();

                vm.Inputer   = UserData.Name;
                vm.InputerID = UserData.UserId;

                if (vm.Status.HasValue && !vm.StartTime.HasValue && !vm.EndTime.HasValue)
                {
                    vm.StartTime = DateTime.Now;
                }

                vm = rpSV.SaveResponse(vm);

                #region 日志

                var log = new LogVM()
                {
                    Operator    = this.UserData.Name,
                    OperatorID  = this.UserData.UserId,
                    RoleTypes   = this.UserData.RoleTypes,
                    OperateTime = DateTime.Now,
                    OperateType = (int)EnumOperateType.编辑
                };

                log.OperateDescribe = ((EnumOperateType)log.OperateType).ToString() + "响应状态";
                Logger.AddLog(log);

                #endregion

                if (vm.EndTime.HasValue && DateTime.Now >= vm.EndTime.Value.AddDays(1))
                {
                    vm.Status = null;
                }
                else if (!vm.EndTime.HasValue && vm.StartTime.HasValue && DateTime.Now < vm.StartTime)
                {
                    vm.Status = null;
                }

                return(Json(new
                {
                    Code = 200,
                    Msg = "保存成功",
                    Data = new
                    {
                        ID = vm.ID,
                        Status = vm.Status,
                        StatusText = vm.Status.HasValue ? ((EnumResponseStatus)vm.Status).ToString() : "--"
                    }
                }));
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(ex.Message);
                throw ex;
            }
        }