Пример #1
0
        private Conditions ParseConditions()
        {
            Conditions conditions = new Conditions();

            if (SeverityCondition != null)
            {
                conditions.Severity = new Condition(
                    operatorProperty: SeverityCondition.Split(':')[0],
                    values: SeverityCondition.Split(':')[1].Split(','));
            }

            if (MonitorServiceCondition != null)
            {
                conditions.MonitorService = new Condition(
                    operatorProperty: MonitorServiceCondition.Split(':')[0],
                    values: MonitorServiceCondition.Split(':')[1].Split(','));
            }

            if (MonitorCondition != null)
            {
                conditions.MonitorCondition = new Condition(
                    operatorProperty: MonitorCondition.Split(':')[0],
                    values: MonitorCondition.Split(':')[1].Split(','));
            }

            if (TargetResourceTypeCondition != null)
            {
                conditions.MonitorCondition = new Condition(
                    operatorProperty: TargetResourceTypeCondition.Split(':')[0],
                    values: TargetResourceTypeCondition.Split(':')[1].Split(','));
            }

            if (DescriptionCondition != null)
            {
                conditions.Description = new Condition(
                    operatorProperty: DescriptionCondition.Split(':')[0],
                    values: DescriptionCondition.Split(':')[1].Split(','));
            }

            if (AlertRuleIdCondition != null)
            {
                conditions.AlertRuleId = new Condition(
                    operatorProperty: AlertRuleIdCondition.Split(':')[0],
                    values: AlertRuleIdCondition.Split(':')[1].Split(','));
            }

            if (AlertContextCondition != null)
            {
                conditions.AlertContext = new Condition(
                    operatorProperty: AlertContextCondition.Split(':')[0],
                    values: AlertContextCondition.Split(':')[1].Split(','));
            }

            return(conditions);
        }
Пример #2
0
        public async Task <ActionResult> UploadMonitorCondition(string monitordate, string id, HttpPostedFileBase uploadedFile)
        {
            try
            {
                if (uploadedFile != null && uploadedFile.ContentLength > 0)
                {
                    Guid     MonitorID     = new Guid(id);
                    DateTime MonitorDate   = Convert.ToDateTime(monitordate);
                    string   fileExtenSion = Path.GetExtension(uploadedFile.FileName);
                    string   path          = System.IO.Path.Combine(Server.MapPath("~/FileUpLoad/"), System.IO.Path.GetFileName(uploadedFile.FileName));

                    string justName = Path.GetFileNameWithoutExtension(uploadedFile.FileName);
                    uploadedFile.SaveAs(path);//将文件保存到本地
                    DataTable dt = await ExcelReader.ReadExcel(fileExtenSion, path);

                    if (dt.Rows.Count == 0 || dt == null)
                    {
                        return(Json(new
                        {
                            statusCode = 400,
                            status = "数据数量为空,请重新检查文件。"
                        }));
                    }

                    if (dt.Columns.Count < 2)
                    {
                        return(Json(new
                        {
                            statusCode = 400,
                            status = "数据列数量有误,请重新检查数据是否合格。"
                        }));
                    }
                    int count = 0;
                    List <MonitorCondition> lmc = new List <MonitorCondition>();
                    foreach (DataRow item in dt.Rows)
                    {
                        MonitorCondition mc = new MonitorCondition();
                        mc.MonitorID    = MonitorID;
                        mc.Contract     = justName;
                        mc.MainPosition = Convert.ToInt32(item[0]);
                        mc.MinPosition  = Convert.ToInt32(item[1]);
                        mc.MaxPosition  = Convert.ToInt32(item[2]);
                        mc.MinPrice     = Convert.ToInt32(item[3]);
                        mc.MaxPrice     = Convert.ToInt32(item[4]);
                        mc.MonitorDate  = MonitorDate;
                        lmc.Add(mc);
                    }
                    count = MonitorConditionRepository.AddRange(lmc);

                    LogRepository.Add(new EventLog()
                    {
                        Name = Session["LoginedUser"].ToString(), Date = DateTime.Now.ToLocalTime(), Event = "上传监控指标数据" + count.ToString() + "条数据。"
                    });
                    return(Json(new
                    {
                        statusCode = 200,
                        status = "已经上传" + count.ToString() + "条数据。"
                    }));
                }
                else
                {
                    return(Json(new
                    {
                        statusCode = 400,
                        status = "文件传输有误,请重新上传。"
                    }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new
                {
                    statusCode = 400,
                    status = "文件上传发生异常," + ex.Message
                }));
            }
        }