/// <summary> /// 添加, 这里可以人工干预,提高程序的性能 /// </summary> /// <param name="entity">实体</param> /// <param name="identity">自增量方式,表主键是否采用自增的策略</param> /// <param name="returnId">返回主键,不返回程序允许速度会快,主要是为了主细表批量插入数据优化用的</param> /// <returns>主键</returns> public string Add(BaseStationEntity entity, bool identity = true, bool returnId = true) { this.Identity = identity; this.ReturnId = returnId; entity.Id = int.Parse(this.AddObject(entity)); return(entity.Id.ToString()); }
/// <summary> /// 接口修改状态用方法 /// </summary> /// <param name="entity"></param> public void UpdateState(BaseStationEntity entity) { try { service.UpdateState(entity); } catch (Exception e) { throw; } }
/// <summary> /// 保存表单(新增、修改) /// </summary> /// <param name="keyValue">主键值</param> /// <param name="entity">实体对象</param> /// <returns></returns> public void SaveForm(string keyValue, BaseStationEntity entity) { try { service.SaveForm(keyValue, entity); } catch (Exception) { throw; } }
/// <summary> /// 设置实体 /// </summary> /// <param name="entity">实体</param> private void SetObject(SQLBuilder sqlBuilder, BaseStationEntity entity) { SetObjectExpand(sqlBuilder, entity); sqlBuilder.SetValue(BaseStationEntity.FieldOrganizeId, entity.OrganizeId); sqlBuilder.SetValue(BaseStationEntity.FieldCode, entity.Code); sqlBuilder.SetValue(BaseStationEntity.FieldRealName, entity.RealName); sqlBuilder.SetValue(BaseStationEntity.FieldCategoryCode, entity.CategoryCode); sqlBuilder.SetValue(BaseStationEntity.FieldMacAddress, entity.MacAddress); sqlBuilder.SetValue(BaseStationEntity.FieldUploadTime, entity.UploadTime); sqlBuilder.SetValue(BaseStationEntity.FieldDownloadTime, entity.DownloadTime); sqlBuilder.SetValue(BaseStationEntity.FieldSortCode, entity.SortCode); sqlBuilder.SetValue(BaseStationEntity.FieldDeletionStateCode, entity.DeletionStateCode); sqlBuilder.SetValue(BaseStationEntity.FieldEnabled, entity.Enabled); sqlBuilder.SetValue(BaseStationEntity.FieldDescription, entity.Description); }
/// <summary> /// 更新实体 /// </summary> /// <param name="entity">实体</param> public int UpdateObject(BaseStationEntity entity) { SQLBuilder sqlBuilder = new SQLBuilder(DbHelper); sqlBuilder.BeginUpdate(this.CurrentTableName); this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseStationEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseStationEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseStationEntity.FieldModifiedOn); sqlBuilder.SetWhere(this.PrimaryKey, entity.Id); return(sqlBuilder.EndUpdate()); }
public ActionResult SaveForm(string keyValue, BaseStationEntity entity) { basebll.SaveForm(keyValue, entity); //将基站信息同步到后台计算服务中 RabbitMQHelper rh = RabbitMQHelper.CreateInstance(); SendData sd = new SendData(); if (string.IsNullOrEmpty(keyValue)) { sd.DataName = "AddBaseStationEntity"; } else { sd.DataName = "UppBaseStationEntity"; } sd.EntityString = JsonConvert.SerializeObject(entity); rh.SendMessage(JsonConvert.SerializeObject(sd)); return(Success("操作成功。")); }
// 这个是声明扩展方法 partial void SetObjectExpand(SQLBuilder sqlBuilder, BaseStationEntity entity);
/// <summary> /// 添加实体 /// </summary> /// <param name="entity">实体</param> public string AddObject(BaseStationEntity entity) { string key = string.Empty; if (entity.SortCode == null || entity.SortCode == 0) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper, this.Identity); key = sequenceManager.Increment(this.CurrentTableName); entity.SortCode = int.Parse(key); } SQLBuilder sqlBuilder = new SQLBuilder(DbHelper, this.Identity, this.ReturnId); sqlBuilder.BeginInsert(this.CurrentTableName, this.PrimaryKey); if (!this.Identity) { // 这里已经是指定了主键了,所以不需要返回主键了 sqlBuilder.ReturnId = false; sqlBuilder.SetValue(this.PrimaryKey, entity.Id); } else { if (!this.ReturnId && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { if (DbHelper.CurrentDbType == CurrentDbType.Oracle) { sqlBuilder.SetFormula(this.PrimaryKey, "SEQ_" + this.CurrentTableName.ToUpper() + ".NEXTVAL "); } if (DbHelper.CurrentDbType == CurrentDbType.DB2) { sqlBuilder.SetFormula(this.PrimaryKey, "NEXT VALUE FOR SEQ_" + this.CurrentTableName.ToUpper()); } } else { if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { BaseSequenceManager sequenceManager = new BaseSequenceManager(DbHelper); entity.Id = int.Parse(sequenceManager.Increment(this.CurrentTableName)); sqlBuilder.SetValue(this.PrimaryKey, entity.Id); } } } this.SetObject(sqlBuilder, entity); if (UserInfo != null) { sqlBuilder.SetValue(BaseStationEntity.FieldCreateUserId, UserInfo.Id); sqlBuilder.SetValue(BaseStationEntity.FieldCreateBy, UserInfo.RealName); } else { sqlBuilder.SetValue(BaseStationEntity.FieldCreateBy, entity.CreateBy); } sqlBuilder.SetDBNow(BaseStationEntity.FieldCreateOn); if (UserInfo != null) { sqlBuilder.SetValue(BaseStationEntity.FieldModifiedUserId, UserInfo.Id); sqlBuilder.SetValue(BaseStationEntity.FieldModifiedBy, UserInfo.RealName); } sqlBuilder.SetDBNow(BaseStationEntity.FieldModifiedOn); if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.SqlServer || DbHelper.CurrentDbType == CurrentDbType.Access)) { key = sqlBuilder.EndInsert().ToString(); } else { sqlBuilder.EndInsert(); } if (this.Identity && (DbHelper.CurrentDbType == CurrentDbType.Oracle || DbHelper.CurrentDbType == CurrentDbType.DB2)) { return(entity.Id.ToString()); } return(key); }
/// <summary> /// 更新 /// </summary> /// <param name="entity">实体</param> public int Update(BaseStationEntity entity) { return(this.UpdateObject(entity)); }
public string ImportStation() { int error = 0; string message = "请选择格式正确的文件再导入!"; string falseMessage = ""; int count = HttpContext.Request.Files.Count; if (count > 0) { HttpPostedFileBase file = HttpContext.Request.Files[0]; if (string.IsNullOrEmpty(file.FileName)) { return(message); } if (!(file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xls") || file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xlsx"))) { return(message); } string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + System.IO.Path.GetExtension(file.FileName); file.SaveAs(Server.MapPath("~/Resource/temp/" + fileName)); DataTable dt = ExcelHelper.ExcelImport(Server.MapPath("~/Resource/temp/" + fileName)); int order = 1; DistrictBLL districtbll = new DistrictBLL(); List <DistrictEntity> AreaList = districtbll.GetListByOrgIdAndParentId("", ""); for (int i = 0; i < dt.Rows.Count; i++) { string CameraID = dt.Rows[i][0].ToString(); string CameraName = dt.Rows[i][1].ToString(); string CameraType = dt.Rows[i][2].ToString(); //区域 string AreaName = dt.Rows[i][3].ToString(); string AreaValue = ""; string AreaCode = ""; //楼层编号 string FloorNo = dt.Rows[i][4].ToString(); string CameraPoint = dt.Rows[i][5].ToString(); string CameraIp = dt.Rows[i][6].ToString(); if (string.IsNullOrEmpty(CameraID)) { falseMessage += "</br>" + "第" + (i + 2) + "基站ID为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraName)) { falseMessage += "</br>" + "第" + (i + 2) + "基站名称为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraType)) { falseMessage += "</br>" + "第" + (i + 2) + "基站型号为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(AreaName)) { falseMessage += "</br>" + "第" + (i + 2) + "区域名称为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(FloorNo)) { falseMessage += "</br>" + "第" + (i + 2) + "楼层编号为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraPoint)) { falseMessage += "</br>" + "第" + (i + 2) + "基站坐标为空,未能导入."; error++; continue; } if (string.IsNullOrEmpty(CameraIp)) { falseMessage += "</br>" + "第" + (i + 2) + "IP地址为空,未能导入."; error++; continue; } var IP = @"(^(\d+)\.(\d+)\.(\d+)\.(\d+)$)";//@"/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g"; var point = @"(^\d{1,9}(.\d{1,2});\d{1,9}(.\d{1,2})$)"; ////验证是否是IP if (!Regex.IsMatch(CameraIp, IP)) { falseMessage += "</br>" + "第" + (i + 2) + "行IP地址格式填写错误,未能导入."; error++; continue; } ////验证是否是坐标 if (!Regex.IsMatch(CameraPoint, point)) { falseMessage += "</br>" + "第" + (i + 2) + "行坐标格式填写错误,格式应为xx.xx;xx.xx,未能导入."; error++; continue; } var area = AreaList.Where(it => it.DistrictName == AreaName).FirstOrDefault(); if (area == null) { falseMessage += "</br>" + "第" + (i + 2) + "行区域名称填写错误,未找到对应的区域,未能导入."; error++; continue; } AreaValue = area.DistrictID; AreaCode = area.DistrictCode; BaseStationEntity kbs = new BaseStationEntity(); kbs.AreaCode = AreaCode; kbs.AreaId = AreaValue; kbs.AreaName = AreaName; kbs.StationID = CameraID; kbs.StationName = CameraName; kbs.StationType = CameraType; kbs.FloorCode = FloorNo; kbs.OperUserName = OperatorProvider.Provider.Current().UserName; kbs.AreaId = AreaValue; kbs.StationIP = CameraIp; kbs.StationCode = CameraPoint; try { basebll.SaveForm("", kbs); //将基站信息同步到后台计算服务中 RabbitMQHelper rh = RabbitMQHelper.CreateInstance(); SendData sd = new SendData(); sd.DataName = "AddBaseStationEntity"; sd.EntityString = JsonConvert.SerializeObject(kbs); rh.SendMessage(JsonConvert.SerializeObject(sd)); } catch { error++; } } count = dt.Rows.Count; message = "共有" + count + "条记录,成功导入" + (count - error) + "条,失败" + error + "条"; message += "</br>" + falseMessage; } return(message); }