public int ManageDelete(Guid id) { using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope()) { try { BuildingsBLL buildingsBLL = new BuildingsBLL(); BuildingsDataBLL buildingsDataBLL = new BuildingsDataBLL(); BuildingMonthModifyCountBLL buildingMonthModifyCountBLL = new BuildingMonthModifyCountBLL(); BuildingMonthInfoDataBLL buildingMonthInfoDataBLL = new BuildingMonthInfoDataBLL(); BuildingMonthInfoBLL buildingMonthInfoBLL = new BuildingMonthInfoBLL(); buildingMonthModifyCountBLL.ManageDeleteByBuildingID(id); buildingMonthInfoDataBLL.ManageDeleteByBuildingID(id); buildingMonthInfoBLL.ManageDeleteByBuildingID(id); buildingsBLL.ManageDelete(id); buildingsDataBLL.ManageDelete(id); BaseDb.Delete(id); scope.Complete(); return(1); } catch (Exception ex) { return(0); } } }
/// <summary> /// 流程完成时的操作。 /// </summary> /// <returns></returns> public void Complete(Guid id) { RoadFlow.Data.Model.BuildingMonthInfoModel model = Get(id); Guid buildingID = model.BuildingID.Value; int timeArea = DateTime.Now.Year * 100 + DateTime.Now.Month; #region 去除流程关联字段 model.State = null; model.CreateTime = null; model.UpdateTime = null; model.MissionDisplay = null; #endregion model.BuildingMonthInfoID = id;//设置BuildingMonthInfoData是buildingMonthInfo的哪条数据更新而来。 #region 每月信息更新 BuildingMonthInfoDataBLL buildingsDataBLL = new BuildingMonthInfoDataBLL(); RoadFlow.Data.Model.BuildingMonthInfoModel old = buildingsDataBLL.GetByBuildingIDAndTimeArea(buildingID, timeArea); if (old != null) //已存在,更新每月信息 { model.ID = null; model.TimeArea = timeArea; model.UpdateTime = DateTime.Now; buildingsDataBLL.Update(model, old.ID.Value); } else { model.ID = Guid.NewGuid(); model.TimeArea = timeArea; buildingsDataBLL.Add(model); } #endregion #region 每月更新次数及分数更新 BuildingMonthModifyCountBLL buildingMonthModifyCountBLL = new BuildingMonthModifyCountBLL(); var oldCount = buildingMonthModifyCountBLL.Get(buildingID, timeArea); //GetOperationType(buildingMonthModifyCountBLL, buildingID, timeArea,out countID); if (oldCount != null) //已存在,每月更新次数更新 { RoadFlow.Data.Model.BuildingMonthModifyCountModel buildingMonthModifyCountModel = new Data.Model.BuildingMonthModifyCountModel(); buildingMonthModifyCountModel.Count = GetCount(buildingID, timeArea, model); //buildingMonthModifyCountModel.Timeliness = GetTimeliness(); 更新不算及时性评分 buildingMonthModifyCountModel.Quality = BLLCommon.GetQuality(buildingMonthModifyCountModel.Count.Value + oldCount.EnterpriseModifyCount.Value); buildingMonthModifyCountModel.Accuracy = GetAccuracy(); buildingMonthModifyCountBLL.Update(buildingMonthModifyCountModel, oldCount.ID.Value); } else { RoadFlow.Data.Model.BuildingMonthModifyCountModel buildingMonthModifyCountModel = new Data.Model.BuildingMonthModifyCountModel(); buildingMonthModifyCountModel.TimeArea = timeArea; buildingMonthModifyCountModel.BuildingID = buildingID; buildingMonthModifyCountModel.Count = GetCount(buildingID, timeArea, model); buildingMonthModifyCountModel.Timeliness = BLLCommon.GetTimeliness(); buildingMonthModifyCountModel.Quality = BLLCommon.GetQuality(buildingMonthModifyCountModel.Count.Value); buildingMonthModifyCountModel.Accuracy = GetAccuracy(); buildingMonthModifyCountBLL.Add(buildingMonthModifyCountModel); } #endregion }
/// <summary> /// 管理员编辑(除了BuildingsAndBuildingMonthInfo外,需要更新BuildingMonthInfoDataBLL,BuildingMonthInfoBLL,BuildingsBLL,BuildingsDataBLL) /// </summary> /// <param name="model"></param> /// <param name="id"></param> /// <returns></returns> public int ManageUpdate(RoadFlow.Data.Model.BuildingsModel building, RoadFlow.Data.Model.BuildingMonthInfoModel monthInfo, Guid buildingID) { using (System.Transactions.TransactionScope scope = new System.Transactions.TransactionScope()) { bool isUpdate = Update <RoadFlow.Data.Model.BuildingsModel>(building, buildingID) > 0 && Update <RoadFlow.Data.Model.BuildingMonthInfoModel>(monthInfo, buildingID) > 0;//更新组合表 if (isUpdate) { #region BuildingMonthInfo BuildingMonthInfoDataBLL buildingMonthInfoDataBLL = new BuildingMonthInfoDataBLL(); var monthDataList = buildingMonthInfoDataBLL.GetListByBuildingID(buildingID); var monthDataLast = monthDataList.OrderByDescending(i => i.TimeArea).FirstOrDefault(); if (monthDataLast != null) {//有最新每月信息则更新每月信息 BuildingMonthInfoBLL buildingMonthInfoBLL = new BuildingMonthInfoBLL(); isUpdate = buildingMonthInfoDataBLL.ManageUpdate(monthInfo, monthDataLast.ID.Value) > 0 && buildingMonthInfoBLL.ManageUpdate(monthInfo, monthDataLast.BuildingMonthInfoID.Value) > 0; } #endregion if (isUpdate) {//更新楼栋基本信息 #region Building BuildingsBLL buildingsBLL = new BuildingsBLL(); BuildingsDataBLL buildingsDataBLL = new BuildingsDataBLL(); building.ID = null; isUpdate = buildingsBLL.ManageUpdate(building, buildingID) > 0 && buildingsDataBLL.ManageUpdate(building, buildingID) > 0; #endregion if (isUpdate) { scope.Complete(); return(1); } } } } return(0); }