/// <summary> /// 删除指定需求信息 /// </summary> /// <param name="id">需求信息id</param> /// <returns>JsonResult.</returns> public JsonResult RemoveRequirement(long id) { using (ResponseResult <T_BUSINESS_PUBLISHED_DEMAND> result = new ResponseResult <T_BUSINESS_PUBLISHED_DEMAND>()) { T_BUSINESS_PUBLISHED_DEMAND req = repository.GetByKey(id); if (req == null) { result.Message = ResponeString.DeleteWithNonMessage; result.IsSuccess = false; } else { //进行中 if (businessing.Contains(req.PublishStateId)) { req.IsDeleted = true; req.PublishStateId = 100504;//已取消 _commonRepository.Modify <T_BUSINESS_PUBLISHED_DEMAND>(req, b => b.Id == id); result.IsSuccess = true; result.Entity = req; result.Message = ResponeString.DeleteSuccessfullyMessage; } else { result.IsSuccess = false; result.Message = ResponeString.NotDelete; } } return(Json(result)); } }
/// <summary> /// 产业商发布需求 /// </summary> /// <param name="id">0表示执行添加操作</param> /// <param name="userid">产业商id</param> /// <param name="Type">需求类型编号</param> /// <param name="Dates">预期时间</param> /// <param name="Address">地址</param> /// <param name="DetailAddress">详细地址</param> /// <param name="PurchaseWeight">收购区间类型编号</param> /// <param name="CommenceWeight">起购重量</param> /// <param name="PhoneNumber">手机号</param> /// <param name="Remark">摘要</param> /// <param name="cropId">农作物Id</param> /// <param name="PurchaseStartPrice">预期最低价格</param> /// <param name="PurchaseEndPrice">预期最高价格</param> /// <param name="?">The ?.</param> /// <returns>JsonResult.</returns> public JsonResult SaveRequirement(long id, long userid, int Type, string Dates, string Address, string DetailAddress, int PurchaseWeight, int CommenceWeight, string PhoneNumber, string Remark, int cropId, double PurchaseStartPrice = 0, double PurchaseEndPrice = 0) { using (ResponseResult <T_BUSINESS_PUBLISHED_DEMAND> result = new ResponseResult <T_BUSINESS_PUBLISHED_DEMAND>()) { int pwnumber = 0; int conumber = 0; //收粮:100201 //产业商收购粮食重量区间:100400 //产业商收购粮食起购重量:100600 //收青贮:100202 //产业商收购青贮重量区间:101100 //产业商收购青贮起购亩数:101200 if (string.IsNullOrEmpty(Dates)) { result.IsSuccess = false; result.Message = ResponeString.DateNotNull; return(Json(result)); } if (!Utility.RegexHelper.IsMatch(Address, @"^\d*\|\d*\|\d*\|\d*\|\d*$")) { result.IsSuccess = false; result.Message = ResponeString.AddressError; return(Json(result)); } if (string.IsNullOrEmpty(PhoneNumber)) { result.IsSuccess = false; result.Message = ResponeString.PhonenumberNotNull; return(Json(result)); } if (cropId < 0) { cropId = 0; } switch (Type) { case 100201: if (!_commonRepository.CheckTypeid <T_SYS_DICTIONARY>(s => (s.Code == PurchaseWeight && s.ParentCode == 100400))) { result.IsSuccess = false; result.Message = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, PurchaseWeight.ToString()); return(Json(result)); } if (!_commonRepository.CheckTypeid <T_SYS_DICTIONARY>(s => (s.Code == CommenceWeight && s.ParentCode == 100600))) { result.IsSuccess = false; result.Message = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, CommenceWeight.ToString()); return(Json(result)); } var pwmodel = _commonRepository.GetById <T_SYS_DICTIONARY>(s => s.Code == PurchaseWeight); var comodel = _commonRepository.GetById <T_SYS_DICTIONARY>(s => s.Code == CommenceWeight); pwnumber = pwmodel.DisplayName.Contains("以上") == true?Convert.ToInt32(pwmodel.DisplayName.Replace("吨以上", "")) + 1 : Convert.ToInt32(pwmodel.DisplayName.Replace("吨", "").Split('-')[1]); conumber = comodel.DisplayName.Contains("以上") == true?Convert.ToInt32(comodel.DisplayName.Replace("吨以上", "")) + 1 : Convert.ToInt32(comodel.DisplayName.Replace("吨", "")); if (conumber > pwnumber) { result.IsSuccess = false; result.Message = ResponeString.WeightIsError; return(Json(result)); } break; case 100202: if (!_commonRepository.CheckTypeid <T_SYS_DICTIONARY>(s => (s.Code == PurchaseWeight && s.ParentCode == 101100))) { result.IsSuccess = false; result.Message = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, PurchaseWeight.ToString()); return(Json(result)); } if (!_commonRepository.CheckTypeid <T_SYS_DICTIONARY>(s => (s.Code == CommenceWeight && s.ParentCode == 101200))) { result.IsSuccess = false; result.Message = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, CommenceWeight.ToString()); return(Json(result)); } pwmodel = _commonRepository.GetById <T_SYS_DICTIONARY>(s => s.Code == PurchaseWeight); comodel = _commonRepository.GetById <T_SYS_DICTIONARY>(s => s.Code == CommenceWeight); pwnumber = pwmodel.DisplayName.Contains("以上") == true?Convert.ToInt32(pwmodel.DisplayName.Replace("亩以上", "")) + 1 : Convert.ToInt32(pwmodel.DisplayName.Replace("亩", "").Split('-')[1]); conumber = comodel.DisplayName.Contains("以上") == true?Convert.ToInt32(comodel.DisplayName.Replace("亩以上", "")) + 1 : Convert.ToInt32(comodel.DisplayName.Replace("亩", "")); if (conumber > pwnumber) { result.IsSuccess = false; result.Message = ResponeString.WeightIsError; return(Json(result)); } break; default: result.IsSuccess = false; result.Message = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, Type.ToString()); return(Json(result)); } //验证userid是否有操作权限 if (_commonRepository.CheckUserId(userid, (int)RoleType.Business)) { //执行添加操作 if (id == 0) { T_BUSINESS_PUBLISHED_DEMAND newRequirement = new T_BUSINESS_PUBLISHED_DEMAND(); newRequirement.CreateUserId = userid; newRequirement.DemandTypeId = Type; newRequirement.ExpectedDate = Dates; newRequirement.PublishStateId = 100501; Dictionary <string, string> adc = StringHelper.GetAddress(Address); newRequirement.Province = adc["Province"]; newRequirement.City = adc["City"]; newRequirement.Region = adc["Region"]; newRequirement.Township = adc["Township"]; newRequirement.Village = adc["Village"]; newRequirement.DetailedAddress = DetailAddress != null ? DetailAddress : ""; newRequirement.ExpectedStartPrice = Convert.ToDecimal(PurchaseStartPrice); newRequirement.ExpectedEndPrice = Convert.ToDecimal(PurchaseEndPrice); newRequirement.AcquisitionWeightRangeTypeId = PurchaseWeight; newRequirement.FirstWeight = CommenceWeight; newRequirement.PhoneNumber = PhoneNumber; newRequirement.Brief = Remark != null ? Remark : ""; newRequirement.CreateTime = Utility.TimeHelper.GetChinaLocalTime(); newRequirement.CropId = cropId; repository.Insert(newRequirement); result.Entity = newRequirement; result.IsSuccess = true; result.Message = ResponeString.SaveSuccessfullyMessage; return(Json(result)); } //执行修改操作 T_BUSINESS_PUBLISHED_DEMAND updateRequirement = repository.GetByKey(id); if (!updateRequirement.Equals(null)) { //当前需求已被响应不能在修改 if (updateRequirement.PublishStateId == 100501) { updateRequirement.ModifiedUserId = userid; updateRequirement.ModifiedTime = Utility.TimeHelper.GetChinaLocalTime(); updateRequirement.DemandTypeId = Type; updateRequirement.ExpectedDate = Dates; updateRequirement.PublishStateId = 100501; Dictionary <string, string> adc = StringHelper.GetAddress(Address); updateRequirement.Province = adc["Province"]; updateRequirement.City = adc["City"]; updateRequirement.Region = adc["Region"]; updateRequirement.Township = adc["Township"]; updateRequirement.Village = adc["Village"]; updateRequirement.DetailedAddress = DetailAddress; updateRequirement.ExpectedStartPrice = Convert.ToDecimal(PurchaseStartPrice); updateRequirement.ExpectedEndPrice = Convert.ToDecimal(PurchaseEndPrice); updateRequirement.AcquisitionWeightRangeTypeId = PurchaseWeight; updateRequirement.FirstWeight = CommenceWeight; updateRequirement.PhoneNumber = PhoneNumber; updateRequirement.Brief = Remark; updateRequirement.CropId = cropId; _commonRepository.Modify <T_BUSINESS_PUBLISHED_DEMAND>(updateRequirement, b => b.Id == id); result.Entity = updateRequirement; result.IsSuccess = true; result.Message = ResponeString.SaveSuccessfullyMessage; } else { result.IsSuccess = false; result.Message = ResponeString.NotUpdate; } } else { result.IsSuccess = false; result.Message = String.Format("{0} -" + ResponeString.ParmetersInvalidMessage, id.ToString()); } } else { result.IsSuccess = false; result.Message = String.Format("{0} -" + ResponeString.NoJurisdiction, userid.ToString()); } return(Json(result)); } }
public JsonResult CommentRequirement(int isOwn, long id, long userid, string commentString, int score) { using (ResponseResult <object> result = new ResponseResult <object>()) { //产业商的需求 if (isOwn == 0) { T_BUSINESS_PUBLISHED_DEMAND model = _commonRepository.GetById <T_BUSINESS_PUBLISHED_DEMAND>(b => b.Id == id); //验证当前需求编号是否存在 if (model != null) { T_BUSINESS_DEMAND_RESPONSE_RELATION responseRelation = _commonRepository.GetById <T_BUSINESS_DEMAND_RESPONSE_RELATION>(b => b.DemandId == id && b.UserId == userid); //验证ueserid是否有效 if (responseRelation != null) { responseRelation.Score = score; responseRelation.Comments = commentString != null ? commentString : ""; responseRelation.ReplyTime = Utility.TimeHelper.GetChinaLocalTime(); var bonusDPoint = int.Parse(this._sysSettingRepository.GetSetting(DataKey.BonusDPointByCommentSettingID).SETTING_VALUE); responseRelation.BonusDPoint = bonusDPoint; //执行评价操作 _commonRepository.Modify <T_BUSINESS_DEMAND_RESPONSE_RELATION>(responseRelation, b => b.DemandId == id && b.UserId == userid); if (score > 0) { var dpointTotal = score * bonusDPoint; //给评价人自己添加系统默认先锋币 _commonRepository.AddDuPontPoint(model.CreateUserId, "评价添加先锋币", (int)SysCfg.SysUserId, bonusDPoint); //给被评价人添加先锋币 _commonRepository.AddDuPontPoint(responseRelation.UserId, "被评价添加先锋币", (int)SysCfg.SysUserId, dpointTotal); //计算被评价者的角色等级 var farmerRoleId = (int)RoleType.Farmer; var userRoleInfo = _userRoleService.GetAll(p => p.MemberType && p.UserID == userid && p.RoleID == farmerRoleId).FirstOrDefault(); if (userRoleInfo != null) { if (userRoleInfo.TotalReplyCount == null) { userRoleInfo.TotalReplyCount = 0; } if (userRoleInfo.TotalStarCount == null) { userRoleInfo.TotalStarCount = 0; } userRoleInfo.TotalReplyCount++; userRoleInfo.TotalStarCount += score; var averageStar = userRoleInfo.TotalStarCount / userRoleInfo.TotalReplyCount; _userRoleService.Update(p => p.UserID == userid && p.RoleID == farmerRoleId, t => new T_USER_ROLE_RELATION { Star = averageStar, TotalStarCount = userRoleInfo.TotalStarCount, TotalReplyCount = userRoleInfo.TotalReplyCount }); } } //评价成功后更改需求状态为已评价(100503) T_BUSINESS_PUBLISHED_DEMAND fmodel = _commonRepository.GetById <T_BUSINESS_PUBLISHED_DEMAND>(f => f.Id == id); fmodel.PublishStateId = 100503; _commonRepository.Modify <T_BUSINESS_PUBLISHED_DEMAND>(fmodel, f => f.Id == id); result.IsSuccess = true; result.Entity = responseRelation; } else { result.IsSuccess = false; result.Message = string.Format("{0} - " + ResponeString.NoJurisdiction, userid.ToString()); } } else { result.IsSuccess = false; result.Message = string.Format("{0} - " + ResponeString.ParmetersInvalidMessage, id.ToString()); } } else { T_FARMER_PUBLISHED_DEMAND model = _commonRepository.GetById <T_FARMER_PUBLISHED_DEMAND>(b => b.Id == id); //验证当前需求编号是否存在于产业商需求表中且当前需求没有被删除且是excuteuserId创建的 if (model != null) { T_FARMER_DEMAND_RESPONSE_RELATION responseRelation = _commonRepository.GetById <T_FARMER_DEMAND_RESPONSE_RELATION>(b => b.DemandId == id && b.UserId == userid); //验证ueserid是否有效 if (responseRelation != null) { responseRelation.Score = score; responseRelation.Comments = commentString != null ? commentString : ""; responseRelation.ReplyTime = Utility.TimeHelper.GetChinaLocalTime(); var bonusDPoint = int.Parse(this._sysSettingRepository.GetSetting(DataKey.BonusDPointByCommentSettingID).SETTING_VALUE); responseRelation.BonusDPoint = bonusDPoint; //执行评价操作 _commonRepository.Modify <T_FARMER_DEMAND_RESPONSE_RELATION>(responseRelation, b => b.DemandId == id && b.UserId == userid); //评价成功后更改需求状态为已评价(100503) T_FARMER_PUBLISHED_DEMAND fmodel = _commonRepository.GetById <T_FARMER_PUBLISHED_DEMAND>(f => f.Id == id); fmodel.PublishStateId = 100503; _commonRepository.Modify <T_FARMER_PUBLISHED_DEMAND>(fmodel, f => f.Id == id); if (score > 0) { var dpointTotal = score * bonusDPoint; //给评价人自己添加系统默认先锋币 _commonRepository.AddDuPontPoint(responseRelation.UserId, "评价添加先锋币", (int)SysCfg.SysUserId, bonusDPoint); //给被评价人添加先锋币 _commonRepository.AddDuPontPoint(model.CreateUserId, "被评价添加先锋币", (int)SysCfg.SysUserId, dpointTotal); //计算被评价者的角色等级 var farmerRoleId = (int)RoleType.Farmer; var userRoleInfo = _userRoleService.GetAll(p => p.MemberType && p.UserID == userid && p.RoleID == farmerRoleId).FirstOrDefault(); if (userRoleInfo != null) { if (userRoleInfo.TotalReplyCount == null) { userRoleInfo.TotalReplyCount = 0; } if (userRoleInfo.TotalStarCount == null) { userRoleInfo.TotalStarCount = 0; } userRoleInfo.TotalReplyCount++; userRoleInfo.TotalStarCount += score; var averageStar = userRoleInfo.TotalStarCount / userRoleInfo.TotalReplyCount; _userRoleService.Update(p => p.UserID == userid && p.RoleID == farmerRoleId, t => new T_USER_ROLE_RELATION { Star = averageStar, TotalStarCount = userRoleInfo.TotalStarCount, TotalReplyCount = userRoleInfo.TotalReplyCount }); } } result.IsSuccess = true; result.Entity = responseRelation; } else { result.IsSuccess = false; result.Message = string.Format("{0} - " + ResponeString.NoJurisdiction, userid.ToString()); } } else { result.IsSuccess = false; result.Message = string.Format("{0} - " + ResponeString.ParmetersInvalidMessage, id.ToString()); } } return(Json(result)); } }