/// <summary> /// 取消门店预约 /// </summary> public ReturnResponse CancelBusinessReserve(DTOEditUpgradeInfoItem dto) { Repository <Prc_UpgradeInfoItem> repository = new Repository <Prc_UpgradeInfoItem>(DbContext); Prc_UpgradeInfoItem editItem = repository.Get(a => a.ID == dto.ID); editItem.UpgradeStatus = EnumUpgradeStatus.Canceled; repository.Update(editItem); OperateLoger.Write(LoginUserInfo.CurrUser.UserName, DateTime.Now, "忽略门店【" + editItem.BusinessName + "】的升级预约"); DbContext.SaveChanges(); return(new ReturnResponse()); }
public DTOBackReserveUpgrade ReserveUpgrade([FromBody] DTOReserveUpgrade dto) { if (dto.BusinessInfos == null || dto.BusinessInfos.Count == 0) { throw new Exception("门店信息不能为空"); } DTOBackReserveUpgrade result = new DTOBackReserveUpgrade(); Repository <Prc_UpgradeInfo> repositoryInfo = new Repository <Prc_UpgradeInfo>(DbContext); Repository <Prc_UpgradeInfoItem> repositoryItem = new Repository <Prc_UpgradeInfoItem>(DbContext); Repository <Prc_VersionInfo> repositoryVer = new Repository <Prc_VersionInfo>(DbContext); var oldInfo = repositoryInfo.Get(a => a.MallCode == dto.MallCode && !a.IsDelete && (a.UpgradeStatus == EnumUpgradeStatus.Reserved || a.UpgradeStatus == EnumUpgradeStatus.Upgrading)); if (oldInfo != null) { if (oldInfo.TargetVersionID != dto.TargetVersionID) { throw new Exception("平台存在未完成的预约"); } else { return(new DTOBackReserveUpgrade() { InfoID = oldInfo.ID }); } } Prc_VersionInfo upgradeVer = repositoryVer.Get(ver => ver.ID == dto.TargetVersionID && !ver.IsDelete); if (upgradeVer == null) { throw new Exception("未找到版本信息"); } Prc_UpgradeInfo info = new Prc_UpgradeInfo() { BusinessCount = dto.BusinessInfos.Count, ContactPerson = dto.ContactPerson, ContactPhone = dto.ContactPhone, MallCode = dto.MallCode, MallName = dto.MallName, OriginalVersionNo = dto.OriginalVersionNo, ReserveTime = dto.ReserveTime, TargetVersionNo = dto.TargetVersionNo, TargetVersionID = upgradeVer.ID, CreateOperateUser = BLLUpgrade.SystemUser, UpgradeStatus = EnumUpgradeStatus.Reserved, HeartbeatTime = DateTime.Now, IsSingle = dto.IsSingle, ApplyTime = dto.ApplyTime }; repositoryInfo.Add(info); dto.BusinessInfos.ForEach(a => { Prc_UpgradeInfoItem item = new Prc_UpgradeInfoItem() { BusinessNum = a.BusinessNum, BusinessType = (EnumBusinessType)a.BusinessType, CreateOperateUser = BLLUpgrade.SystemUser, BusinessName = a.BusinessName, HeartbeatStatus = -1, UpgradeInfo = info, UpgradeStatus = EnumUpgradeStatus.Reserved, UpgradeBagStatus = EnumUpgradeBagStatus.None }; repositoryItem.Add(item); }); result.InfoID = info.ID; DbContext.SaveChanges(); return(result); }