public HttpResponseMessage Post([FromBody] Models.area mArea) { try { if (string.IsNullOrEmpty(mArea.area_name)) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = "Area Name is Empty" }, formatter)); } if (_areaRepository.CheckDuplicateZoneArea(mArea)) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = "Same Area and Zone Already Exists! " }, formatter)); } else { area insertArea = new area { area_name = mArea.area_name, area_code = mArea.area_code, region_id = mArea.region_id, is_active = mArea.is_active, created_by = mArea.created_by, created_date = DateTime.Now, updated_by = mArea.updated_by, updated_date = DateTime.Now }; _areaRepository.AddArea(insertArea); var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "success", msg = "Area saved successfully" }, formatter)); } } catch (Exception ex) { var formatter = RequestFormat.JsonFormaterString(); return(Request.CreateResponse(HttpStatusCode.OK, new Confirmation { output = "error", msg = ex.ToString() }, formatter)); } }
public BasicResponse <AreaInfo> AddArea(AreaAddRequest arearequest) { var arearesponse = new BasicResponse <AreaInfo>(); //判断缓存中是否存在 AreaInfo oldArea = null; AreaCacheGetByKeyRequest AreaCacheRequest = new AreaCacheGetByKeyRequest(); AreaCacheRequest.Areaid = arearequest.AreaInfo.Areaid; oldArea = _AreaCacheService.GetByKeyAreaCache(AreaCacheRequest).Data; if (oldArea != null) { //缓存中存在此测点 arearesponse.Code = 1; arearesponse.Message = "当前添加的区域已存在!"; return(arearesponse); } //向网关同步数据 20180103 if (!string.IsNullOrEmpty(arearequest.AreaInfo.Bz3) && arearequest.AreaInfo.Bz3 == "1")//如果是广播分区,则需要向网关同步数据 { List <AreaInfo> SendItemList = new List <AreaInfo>(); SendItemList.Add(arearequest.AreaInfo); var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { arearesponse.Code = 1; arearesponse.Message = "向网关同步数据失败!"; return(arearesponse); } } var _area = ObjectConverter.Copy <AreaInfo, AreaModel>(arearequest.AreaInfo); var resultarea = _Repository.AddArea(_area); //更新区域限制、禁止进入人员信息 SaveRestrictedperson(arearequest.AreaInfo.Areaid, arearequest.AreaInfo.RestrictedpersonInfoList); //更新区域识别器定义限制信息 SaveAreaRule(arearequest.AreaInfo.Areaid, arearequest.AreaInfo.AreaRuleInfoList); //更新区域缓存 20171128 AreaCacheAddRequest AreaCacheAddRequest = new Sys.Safety.Request.PersonCache.AreaCacheAddRequest(); AreaCacheAddRequest.AreaInfo = arearequest.AreaInfo; _AreaCacheService.AddAreaCache(AreaCacheAddRequest); arearesponse.Data = ObjectConverter.Copy <AreaModel, AreaInfo>(resultarea); return(arearesponse); }
/// <summary> /// 获取区域ID,如果不存在则添加区域 /// </summary> /// <param name="areaname"></param> /// <param name="areadescribe"></param> /// <returns></returns> private string GetAreaId(string areaname, string areadescribe = null) { if (string.IsNullOrEmpty(areaname)) { return("0"); } string areaid = string.Empty; // 20180606 AreaInfo areainfo; if (areadescribe == null) { areainfo = _areaCacheService.GetAreaCache(new AreaCacheGetByConditionRequest { Predicate = a => a.Areaname == areaname }).Data.FirstOrDefault(); } else { areainfo = _areaCacheService.GetAreaCache(new AreaCacheGetByConditionRequest { Predicate = a => a.Areaname == areaname && a.Areadescribe == areadescribe }).Data.FirstOrDefault(); } if (areainfo == null) { AreaInfo area = new AreaInfo(); areaid = IdHelper.CreateLongId().ToString(); area.Areaid = areaid; area.Areaname = areaname; area.Areadescribe = areadescribe; area.Activity = "1"; area.CreateUpdateTime = DateTime.Now; //更新数据库 var _area = ObjectConverter.Copy <AreaInfo, AreaModel>(area); var resultarea = _areaRepository.AddArea(_area); //更新区域缓存 AreaCacheAddRequest AreaCacheAddRequest = new AreaCacheAddRequest(); AreaCacheAddRequest.AreaInfo = ObjectConverter.Copy <AreaModel, AreaInfo>(resultarea); _areaCacheService.AddAreaCache(AreaCacheAddRequest); } else { areaid = areainfo.Areaid; } return(areaid); }
public async Task AddArea(AreaViewModel area) { await _areaRepository.AddArea(AreaViewModel.ToDataModel(area)); }