public int Delete(string svgId) { Svg svg = GetSvgById(svgId); SvgBinding svgBinding = GetSvgBindingBySvgId(svgId); int count = 0; using (DbContextTransaction trans = _db.Database.BeginTransaction()) { try { if (svg != null) { _db.Svg.Remove(svg); count += _db.SaveChanges(); } if (svgBinding != null) { _db.SvgBinding.Remove(svgBinding); count += _db.SaveChanges(); } trans.Commit(); } catch (Exception e) { trans.Rollback(); } } return(count); }
public object UpdateSvgBinding(string svgId, string postMeters, string postParams) { SvgBinding binding = new SvgBinding(); binding.ID = 0; binding.SvgId = svgId; binding.Meters = postMeters; binding.Params = postParams; SvgBinding tempBinding = context.GetSvgBindingBySvgId(svgId); int count = 0; if (tempBinding == null) { count = context.InsertSvgBinding(binding); } else { binding.ID = tempBinding.ID; count = context.UpdateSvgBinding(binding); } if (count > 0) { return new { Flag = true, Message = "一次图绑定信息成功!" } } ; else { return new { Flag = false, Message = "一次图绑定信息失败!" } }; }
public SvgBindingViewModel GetBindingViewModel(string buildId, string svgId) { SvgBindingViewModel model = new SvgBindingViewModel(); model.MeterList = context.GetMeters(buildId); model.ParamList = context.GetParams(buildId); model.SelectedMeters = new List <string>(); model.SelectedParams = new List <string>(); SvgBinding binding = context.GetSvgBindingBySvgId(svgId); if (binding != null) { if (binding.Meters.Length > 0) { model.SelectedMeters.AddRange(binding.Meters.Split('|')); } if (binding.Params.Length > 0) { model.SelectedParams.AddRange(binding.Params.Split('|')); } } return(model); }
public int UpdateSvgBinding(SvgBinding binding) { SqlParameter[] sqlParameters = { new SqlParameter("@Meters", binding.Meters), new SqlParameter("@Params", binding.Params), new SqlParameter("@Id", binding.ID) }; return(_db.Database.ExecuteSqlCommand(SvgSettingResources.UpdateSvgBindingSQL, sqlParameters)); }
public int InsertSvgBinding(SvgBinding binding) { _db.SvgBinding.Add(binding); return(_db.SaveChanges()); }
public SvgDataViewModel GetDataViewModel(string buildId, string svgId) { SvgBinding svgBinding = GetSvgBinding(svgId); if (svgBinding == null) { return(null); } string[] meterArray = svgBinding.Meters.Split('|'); string[] paramArray = svgBinding.ParamStrings.Split('|'); StringBuilder builder = new StringBuilder(); builder.Append(@"SELECT F_MeterID MeterID ,SUBSTRING(F_TagName,CHARINDEX('_',F_TagName)+1,LEN(F_TagName) -CHARINDEX('_',F_TagName)) ParamName ,F_RecentData Value FROM HistoryData WHERE F_BuildID = @BuildId AND F_MeterID in ("); builder.Append("'" + string.Join("','", meterArray) + "')"); builder.Append(" AND F_Year = YEAR(GETDATE())"); if (paramArray.Length > 0) { builder.Append("AND ("); for (int i = 0; i < paramArray.Length; i++) { if (i == 0) { builder.Append("(F_TagName like ('%" + paramArray[i] + "'))"); } else { builder.Append("or (F_TagName like ('%" + paramArray[i] + "'))"); } } builder.Append(")"); } string sql = builder.ToString(); List <SvgTempValue> tempValues = _hisdb.Database.SqlQuery <SvgTempValue>(sql, new SqlParameter("@BuildId", buildId)).ToList(); SvgDataViewModel viewModel = new SvgDataViewModel(); viewModel.MeterValueList = new List <SvgMeterParam>(); if (tempValues.Count > 0) { foreach (string item in meterArray) { List <SvgTempValue> tempParams = tempValues.FindAll(o => o.MeterId == item); SvgMeterParam meterParam = new SvgMeterParam(); meterParam.MeterID = item; meterParam.ParamList = new List <SvgParamValue>(); if (tempParams.Count > 0) { foreach (var paramValue in tempParams) { meterParam.ParamList.Add(new SvgParamValue() { Code = paramValue.ParamName, Value = paramValue.Value }); } } viewModel.MeterValueList.Add(meterParam); } } return(viewModel); }