public async Task <IActionResult> PutMemberLevel(int id, MemberLevel memberLevel) { if (id != memberLevel.MemberLevelId) { return(BadRequest()); } _context.Entry(memberLevel).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MemberLevelExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <ActionResult <MemberLevel> > PostMemberLevel(MemberLevel memberLevel) { _context.MemberLevel.Add(memberLevel); await _context.SaveChangesAsync(); return(CreatedAtAction("GetMemberLevel", new { id = memberLevel.MemberLevelId }, memberLevel)); }
//--------------------------------------------------------------------- public RequestOption(string country, string state, MemberLevel level) { this.type = RequestType.rtMemberLevel; this.country = country; this.state = state; this.level = level; }
public MemberLevelDto(MemberLevel memberLevel) { MemberLevel = memberLevel.Level; MemberLevelText = memberLevel.LevelText; MemberLevelThreshold = memberLevel.Threshold; MemberLevelThresholdText = $"{memberLevel.Threshold} pts collected in the past 12 months"; }
//[InlineData(1, 8, MemberLevel.Basic)] //[InlineData(1, 15, MemberLevel.Free)] public void SubscribeBasicPackage(DateTime checkDate, MemberLevel checkLevel) { // a var basicPackage = new Package { Code = "BASIC", Name = "Basic 10 days", Level = MemberLevel.Basic, Days = 10, Price = 100m, }; var dt1 = new DateTime(2020, 1, 1); //var checkDate = new DateTime(2020, month, day); var m = new Member(); m.Nickname = "Alice"; // a Subscription sub = m.Subscribe( package: basicPackage, date: dt1, paidAmount: 100m); var level = m.LevelAtDate(checkDate); // a Assert.NotNull(sub); Assert.Equal(dt1, sub.Date); Assert.Same(basicPackage, sub.Package); Assert.Equal(checkLevel, level); }
public OpResult CreateMemberLevel(MemberLevel level) { level.CompanyId = CommonService.CompanyId; if (level.Id == 0) { level.CreateDT = DateTime.Now; level.CreateUID = Sys.CurrentUser.UID; level.State = 0;//默认生效 level.LevelSN = 0; var maxLevel = _memberLevelService.GetTop1MemberLevelByDTDesc(); if (maxLevel != null) { level.LevelSN = maxLevel.LevelSN + 1; } if (level.Discount <= 0)//没有折扣保存-1 { level.Discount = -1; } return(_memberLevelService.CreateMemberLevel(level)); } else { return(_memberLevelService.UpdateMemberLevel(level)); } }
//Add a Membership Level public int AddMemberLevel(MemberLevel objMemberLevel) { //Preparing SQL statements string sql = "Insert into MemberLevel(LevelId, LevelName, LevelMonths, MaxBorrowNum, MaxBorrowDays, Deposit) "; sql += " Values(@LevelId, @LevelName, @LevelMonths, @MaxBorrowNum, @MaxBorrowDays, @Deposit)"; //Preparing parameters in SQL statements SqlParameter[] para = new SqlParameter[] { new SqlParameter("@LevelId", objMemberLevel.LevelId), new SqlParameter("@LevelName", objMemberLevel.LevelName), new SqlParameter("@LevelMonths", objMemberLevel.LevelMonths), new SqlParameter("@MaxBorrowNum", objMemberLevel.MaxBorrowNum), new SqlParameter("@MaxBorrowDays", objMemberLevel.MaxBorrowDays), new SqlParameter("@Deposit", objMemberLevel.Deposit), }; //Submit try { return(SQLHelper.Update(sql, para)); } catch (Exception ex) { throw ex; } }
public async Task InsertAsync(MemberLevel memberLevel) { var query = @"INSERT INTO MemberLevel(`Level`, LevelText, Threshold) VALUES (@Level, @LevelText, @Threshold)"; using (var connection = DbConnection) { await connection.ExecuteAsync(query, memberLevel); } }
public MemberLevel GetMemberLevelByLevelVal(int levelVal) { var result = _context.MemberLevel.Where(o => o.MemberLevelValue == levelVal && o.IsDeleted != 1).FirstOrDefault(); if (result == null) { result = new MemberLevel(); } return(result); }
public ActionResult Edit(string memberLevelId) { MemberLevel memberLevel = new MemberLevel(); if (!string.IsNullOrEmpty(memberLevelId)) { var ml = _memberLevelService.Find <MemberLevel>(memberLevelId); if (ml != null) { memberLevel = ml; } } return(View(memberLevel)); }
/// <summary> /// 新增或修改会员等级 /// </summary> /// <param name="memberLevel"></param> /// <returns></returns> public OpResult SaveOrUpdate(MemberLevel memberLevel, string currentUserId) { var result = new OpResult(); if (!string.IsNullOrEmpty(memberLevel.Id)) { //更新 var newMemberLevel = _context.MemberLevel.Where(o => o.Id == memberLevel.Id).FirstOrDefault(); if (newMemberLevel.MemberLevelValue != memberLevel.MemberLevelValue) { var sameMemberLevel = _context.MemberLevel.Where(o => o.MemberLevelValue == memberLevel.MemberLevelValue && o.IsDeleted != 1).FirstOrDefault(); if (sameMemberLevel != null) { result = OpResult.Fail("对不起,该会员等级值已存在"); return(result); } } newMemberLevel.ModifiedBy = currentUserId; newMemberLevel.ModifiedOn = DateTime.Now; newMemberLevel.Title = memberLevel.Title; newMemberLevel.MemberLevelValue = memberLevel.MemberLevelValue; newMemberLevel.MinGrowthValue = memberLevel.MinGrowthValue; newMemberLevel.MaxGrowthValue = memberLevel.MaxGrowthValue; newMemberLevel.DiscountRate = memberLevel.DiscountRate / 100; newMemberLevel.IntegralMultiples = memberLevel.IntegralMultiples; newMemberLevel.GrowthValueMultiples = memberLevel.GrowthValueMultiples; newMemberLevel.Remark = memberLevel.Remark; newMemberLevel.YearDeductGrowthValue = memberLevel.YearDeductGrowthValue; } else { //新增 var sameMemberLevel = _context.MemberLevel.Where(o => o.MemberLevelValue == memberLevel.MemberLevelValue && o.IsDeleted != 1).FirstOrDefault(); if (sameMemberLevel != null) { result = OpResult.Fail("对不起,该会员等级值已存在"); return(result); } memberLevel.Id = CommonRules.GUID; memberLevel.CreatedOn = DateTime.Now; memberLevel.CreatedBy = currentUserId; memberLevel.DiscountRate = memberLevel.DiscountRate / 100; _context.MemberLevel.Add(memberLevel); } if (_context.SaveChanges() > 0) { result = OpResult.Success("操作成功"); } return(result); }
public ActionResult GetAllMemberLevelBindCombobox(bool isAddAll) { List <MemberLevel> result = new List <MemberLevel>(); //添加全部选项 if (isAddAll) { MemberLevel level = new MemberLevel(); level.Title = "全部"; level.MemberLevelValue = -1; result.Add(level); } //将数据插入 result.AddRange(_memberLevelService.GetAllMemberLevel()); return(Json(result)); }
public async Task CreateOrEditAsync(MemberLevel dto) { dto.TenantId = _AbpSession.TenantId; if (dto.Id > 0) { await _Repository.UpdateAsync(dto); // return new JsonResult(new { succ = true, msg = "" }); } else { await _Repository.InsertAsync(dto); // return new JsonResult(new { succ = true, msg = "" }); } }
//Go back to all information about the membership level by name public MemberLevel GetMemberLevelByName(string levelName) { //SQL Statement to prepare query string sql = "Select LevelId,LevelName,LevelMonths,MaxBorrowNum,MaxBorrowDays,Deposit from MemberLevel Where LevelName=@LevelName "; //Provide parameters in a statement SqlParameter[] para = new SqlParameter[] { new SqlParameter("@LevelName", levelName), }; //Execution and return values try { //Receive SqlDataReader type SqlDataReader objReader = SQLHelper.GetReader(sql, para); //Determine if it is empty if (!objReader.HasRows) { return(null); } //If it is not empty, it is stored <MemberLeveL>in</MemberLeveL> the list MemberLevel objLevel = new MemberLevel(); //read while (objReader.Read()) { objLevel = new MemberLevel() { LevelId = Convert.ToInt32(objReader["LevelId"]), LevelName = objReader["LevelName"].ToString(), LevelMonths = Convert.ToInt32(objReader["LevelMonths"]), MaxBorrowNum = Convert.ToInt32(objReader["MaxBorrowNum"]), MaxBorrowDays = Convert.ToInt32(objReader["MaxBorrowDays"]), Deposit = Convert.ToDouble(objReader["Deposit"]), }; } //Close read objReader.Close(); //Return value return(objLevel); } catch (Exception ex) { throw ex; } }
private MemberLevel GetLevel(long UserId, Domain.Entities.Chatrooms.Chatroom chatroom) { MemberLevel Level = MemberLevel.Member; if (chatroom.CreatorId == UserId) { Level = MemberLevel.Master; } else { if (_context.AdminInChatrooms.Any(a => a.UserId == UserId && a.ChatroomId == chatroom.Id)) { Level = MemberLevel.Admin; } } return(Level); }
public static MemberLevel GetMemberLevelByID(string levelid) { if (string.IsNullOrEmpty(levelid)) { return(null); } var list = GetMemberLevel(); if (list.Where(m => m.LevelID == levelid).Count() > 0) { return(list.Where(m => m.LevelID == levelid).FirstOrDefault()); } MemberLevel model = new MemberLevel(); DataTable dt = WebSetDAL.BaseProvider.GetMemberLevelByLevelID(levelid); if (dt.Rows.Count > 0) { model.FillData(dt.Rows[0]); list.Add(model); } return(model); }
//====================================Control events========================================== private void lvMemeberLevel_Click(object sender, EventArgs e) { //Instantiate an object of a membership level MemberLevel objMemberLevel = new MemberLevel(); //Get name objMemberLevel.LevelName = lvMemeberLevel.SelectedItems[0].Text; //"Method 1": Find by name to database //try //{ // objMemberLevel = objMemberLevelServices.GetMemberLevelByName(objMemberLevel.LevelName); //} //catch (Exception ex) //{ // MessageBox.Show("Get membership level information through the rank name exception occurs! Specific reasons:" + ex.Message, "System Information", MessageBoxButtons.OK, MessageBoxIcon.Information); //} //"Method 2": Find in the local List for (int i = 0; i < objListLevel.Count; i++) { if (objListLevel[i].LevelName == objMemberLevel.LevelName) { objMemberLevel.LevelId = objListLevel[i].LevelId; objMemberLevel.LevelMonths = objListLevel[i].LevelMonths; objMemberLevel.MaxBorrowNum = objListLevel[i].MaxBorrowNum; objMemberLevel.MaxBorrowDays = objListLevel[i].MaxBorrowDays; objMemberLevel.Deposit = objListLevel[i].Deposit; break; } } //Display Date lblLevelId.Text = objMemberLevel.LevelId.ToString(); txtLevelName.Text = objMemberLevel.LevelName; txtLevelMonths.Text = objMemberLevel.LevelMonths.ToString(); txtMaxBorrowNum.Text = objMemberLevel.MaxBorrowNum.ToString(); txtMaxBorrowDays.Text = objMemberLevel.MaxBorrowDays.ToString(); txtDeposit.Text = objMemberLevel.Deposit.ToString("0.00"); }
/// <summary> /// /// </summary> /// <param name="type">0:会员等级 1 优惠活动</param> /// <returns></returns> public static List <MemberLevel> GetMemberLevel(int type = 0) { if (MemberLevelList.Count == 0) { List <MemberLevel> list = new List <MemberLevel>(); DataTable dt = WebSetDAL.BaseProvider.GetMemberLevel(); foreach (DataRow dr in dt.Rows) { MemberLevel model = new MemberLevel(); model.FillData(dr); list.Add(model); } MemberLevelList.AddRange(list); } if (type > -1) { return(MemberLevelList.Where(x => x.Type == type).ToList()); } else { return(MemberLevelList.ToList()); } }
//Modify Membership Level public int UpdateMemberLevel(MemberLevel objMemberLevel) { //Preparing SQL statements string sql = "Update MemberLevel Set LevelMonths=@LevelMonths,MaxBorrowNum=@MaxBorrowNum,MaxBorrowDays=@MaxBorrowDays,Deposit=@Deposit Where LevelId=@LevelId"; //Preparing parameters in SQL statements SqlParameter[] para = new SqlParameter[] { new SqlParameter("@LevelId", objMemberLevel.LevelId), new SqlParameter("@LevelMonths", objMemberLevel.LevelMonths), new SqlParameter("@MaxBorrowNum", objMemberLevel.MaxBorrowNum), new SqlParameter("@MaxBorrowDays", objMemberLevel.MaxBorrowDays), new SqlParameter("@Deposit", objMemberLevel.Deposit), }; //Submit try { return(SQLHelper.Update(sql, para)); } catch (Exception ex) { throw ex; } }
public ActionResult FreeCreate([Bind(Include = "Id,MemberLevel,DateTime,Account,Password,ApplicationStatus,ApproveDateTime,DisenableDateTime,NoticeDateTime,ContactPerson,ContactPersonPhone,Address,Extension,Fax,CurrentIdentity,CurrentUnit,JobTitle,MobilePhone,IdCard,Email,Phone,BusinessItem,Demand,Subscription,EditUser,LastEditDateTime")] MbFreeViewModel mbFreeViewModel, MemberLevel memberLevel) { if (ModelState.IsValid) { Member member = new Member(); member.MemberLevel = memberLevel; member.Account = mbFreeViewModel.Account; member.Password = mbFreeViewModel.Password; member.NoticeDateTime = mbFreeViewModel.NoticeDateTime; member.CurrentIdentity = mbFreeViewModel.CurrentIdentity; member.CurrentUnit = mbFreeViewModel.CurrentUnit; member.JobTitle = mbFreeViewModel.JobTitle; member.MobilePhone = mbFreeViewModel.MobilePhone; member.IdCard = mbFreeViewModel.IdCard; member.Email = mbFreeViewModel.Email; member.Phone = mbFreeViewModel.Phone; member.BusinessItem = mbFreeViewModel.BusinessItem; member.ContactPerson = mbFreeViewModel.ContactPerson; member.ContactPersonPhone = mbFreeViewModel.ContactPersonPhone; member.Address = mbFreeViewModel.Address; member.Extension = Convert.ToInt32(mbFreeViewModel.Extension); member.Fax = mbFreeViewModel.Fax; member.Demand = mbFreeViewModel.Demand; member.Subscription = mbFreeViewModel.Subscription; member.DateTime = DateTime.Now; member.LastEditDateTime = DateTime.Now; member.EditUser = mbFreeViewModel.Account; db.Members.Add(member); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(mbFreeViewModel)); }
private void btnCommit_Click(object sender, EventArgs e) { //【1】 Checksum input if (!CheckMemberLevelInput()) { return; } //【2】 Encapsulating data to Objects MemberLevel objMemberLevel = new MemberLevel() { LevelId = Convert.ToInt32(lblLevelId.Text), LevelName = txtLevelName.Text.Trim(), LevelMonths = Convert.ToInt32(txtLevelMonths.Text.Trim()), MaxBorrowNum = Convert.ToInt32(txtMaxBorrowNum.Text.Trim()), MaxBorrowDays = Convert.ToInt32(txtMaxBorrowDays.Text.Trim()), Deposit = Convert.ToDouble(txtDeposit.Text.Trim()), }; //【3】 Submit switch (actionFlag) { case 1: //Add try { if (objMemberLevelServices.AddMemberLevel(objMemberLevel) == 1) { //Notice successful MessageBox.Show("Added Membership Level Added Successfully!", "System Information", MessageBoxButtons.OK, MessageBoxIcon.Information); //Refresh LoadMemberLevelInfo(); //Disable Detail gboxMemberLevel.Enabled = false; } } catch (Exception ex) { MessageBox.Show("There is an exception to adding membership level! Specific reasons:" + ex.Message, "System Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; case 2: //Modify try { if (objMemberLevelServices.UpdateMemberLevel(objMemberLevel) == 1) { //Notice Successful MessageBox.Show("Modify membership level to add success!", "System Information", MessageBoxButtons.OK, MessageBoxIcon.Information); //Refresh LoadMemberLevelInfo(); //Disable Detail gboxMemberLevel.Enabled = false; } } catch (Exception ex) { MessageBox.Show("There is an exception in modifying the membership level! __________ Specific reasons:" + ex.Message, "System Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } break; } }
public string ParsePageMembership(MemberLevel memberLevel);
public ActionResult MemberEdit([Bind(Include = "Id,DateTime,Account,Password,CompanyName,CompanyNumber,Principal,PrincipalJobTitle,CompanyPhone,CompanyUrl,ContactPersonJobTitle,EmployeeCount,CompanyType,Industry,Training,CompanyIntroduction,Business,CompanyPhoto,ContactPerson,ContactPersonPhone,ContactPersonEmail,Address,Extension,Fax,Demand,Subscription,EditUser,LastEditDateTime")] MbPaidViewModel mbPaidViewModel, HttpPostedFileBase companyPhone, MemberLevel applicationType, string addPassword) { if (Session["member"] != null) { Member mbr = (Member)Session["member"]; Member member = new Member(); member.Id = mbr.Id; member.MemberLevel = applicationType; member.ApplicationStatus = mbr.ApplicationStatus; member.Account = mbPaidViewModel.Account; if (!String.IsNullOrEmpty(addPassword)) { member.PasswordSalt = Utility.CreateSalt(); member.Password = Utility.GenerateHashWithSalt(mbPaidViewModel.Password, member.PasswordSalt); } else { member.PasswordSalt = mbr.PasswordSalt; member.Password = mbPaidViewModel.Password; } member.CompanyName = mbPaidViewModel.CompanyName; member.CompanyNumber = mbPaidViewModel.CompanyNumber; member.Principal = mbPaidViewModel.Principal; member.PrincipalJobTitle = mbPaidViewModel.PrincipalJobTitle; member.CompanyPhone = mbPaidViewModel.CompanyPhone; member.CompanyUrl = mbPaidViewModel.CompanyUrl; member.ContactPersonJobTitle = mbPaidViewModel.ContactPersonJobTitle; member.EmployeeCount = Convert.ToInt32(mbPaidViewModel.EmployeeCount); member.ContactPersonEmail = mbPaidViewModel.ContactPersonEmail; member.CompanyType = mbPaidViewModel.CompanyType; member.Industry = mbPaidViewModel.Industry; member.Training = mbPaidViewModel.Training; member.CompanyIntroduction = mbPaidViewModel.CompanyIntroduction; member.Business = mbPaidViewModel.Business; member.CompanyPhone = mbPaidViewModel.CompanyPhone; member.ContactPerson = mbPaidViewModel.ContactPerson; member.ContactPersonPhone = mbPaidViewModel.ContactPersonPhone; member.Address = mbPaidViewModel.Address; member.Extension = Convert.ToInt32(mbPaidViewModel.Extension); member.Fax = mbPaidViewModel.Fax; member.Demand = mbPaidViewModel.Demand; member.Subscription = mbPaidViewModel.Subscription; member.DateTime = DateTime.Now; member.LastEditDateTime = DateTime.Now; member.EditUser = mbPaidViewModel.Account; if (companyPhone != null) { if (companyPhone.ContentType.IndexOf("image", System.StringComparison.Ordinal) == -1) { ViewBag.message = "檔案類型錯誤"; return(View()); } member.CompanyPhoto = Utility.SaveUpImage(companyPhone); Utility.GenerateThumbnailImage(member.CompanyPhoto, companyPhone.InputStream, Server.MapPath("~/UpFile/Images"), "s", 138, 99); } db.Entry(member).State = EntityState.Modified; db.SaveChanges(); TempData["memberError"] = "更新成功"; return(RedirectToAction("MemberEdit", "MemberCentre")); } return(View(mbPaidViewModel)); }
public MemberLevel Add(MemberLevel entity) { return(_memberLevel.Add(entity)); }
public MemberLevel Delete(MemberLevel entity) { return(_memberLevel.Delete(entity)); }
public ActionResult SaveOrUpdate(MemberLevel memberLevel) { var result = _memberLevelService.SaveOrUpdate(memberLevel, UserCache.CurrentUser.Id); return(Json(result)); }
public MemberLevel Update(MemberLevel entity, List <Expression <Func <MemberLevel, object> > > update = null, List <Expression <Func <MemberLevel, object> > > exclude = null) { return(_memberLevel.Update(entity, update, exclude)); }
/// <summary> /// 获取价格 /// </summary> /// <param name="productId"></param> /// <param name="areaid"></param> /// <param name="time"></param> /// <param name="skuNames"></param> /// <param name="units"></param> /// <param name="memberLevel"></param> /// <returns></returns> public static ProductPriceView GetProductPrice(int productId, int areaid, DateTime time, Dictionary <int, string> skuNames, Dictionary <int, int> units, MemberLevel memberLevel) { //获取时间 DayOfWeek dayOfWeek = time.DayOfWeek; TimeSpan timeSpan = TimeSpan.Parse(time.GetDateTimeFormats('t')[0]); string skun = "," + string.Join(",", skuNames.Select(o => o.Value).ToList()) + ","; using (var uk = DalContext.UnitWork()) { var skuPriceRep = uk.Get <SkuPrice>(); var skuAreaRep = uk.Get <SkuArea>(); var skuTimeRep = uk.Get <SkuTime>(); #region 判断 //判断地区是否服务 int numArea = skuAreaRep.TableNoTracking.Count(o => o.ProductId == productId && o.AreaId == areaid); if (numArea == 0) { throw new Exception("产品不在服务地区范围内"); } //判断时间是否服务 int numTime = skuTimeRep.TableNoTracking.Count(o => o.ProductId == productId && o.Week == dayOfWeek && o.StartTime <= timeSpan && o.EndTime >= timeSpan); if (numTime == 0) { throw new Exception("产品不在服务时间范围内"); } #endregion var priceTempletItemRep = uk.Get <PriceTempletItem>(); var priceTempletRep = uk.Get <PriceTemplet>(); var data = (from s in skuPriceRep.TableNoTracking join a in skuAreaRep.TableNoTracking on s.SkuAreaId equals a.Id join t in skuTimeRep.TableNoTracking on s.SkuTimeId equals t.Id where s.ProductId == productId && s.SkuValue == skun && a.AreaId == areaid && t.Week == dayOfWeek && t.StartTime <= timeSpan && t.EndTime >= timeSpan select s).OrderBy(o => o.Id).FirstOrDefault(); if (data == null) { throw new Exception("查找不到价格,当前选择的产品组合不服务"); } #region 查询产品价格模板是否存在价格 (isItem判断是否存在价格) //根据已获取的产品价格Id 去获取价格模板的价格 //根据产品Id获取价格模板的价格 List <PriceTempletItem> priceItems = priceTempletItemRep.TableNoTracking.Where(o => o.ProductId == productId && o.SkuPriceId.Contains("," + data.Id.ToString() + ",") && o.MemberLevel.Contains("," + memberLevel + ",")).ToList(); List <int> priceTempletIds = priceItems.Select(o => o.PriceTempletId).ToList(); var priceTemplets = priceTempletRep.TableNoTracking.Where(o => priceTempletIds.Contains(o.Id)); foreach (var priceItem in priceItems) { List <int> skuTimeIds = priceItem.SkuTimeId.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).Select(o => Convert.ToInt32(o)).ToList(); List <SkuTime> priceItemTime = skuTimeRep.TableNoTracking.Where(o => skuTimeIds.Contains(o.Id)).ToList(); var priceTemplet = priceTemplets.FirstOrDefault(o => o.Id == priceItem.PriceTempletId); if (priceTemplet != null && priceTemplet.State == PriceTempletStateEnum.启用) { if (time >= priceTemplet.StartTime && time <= priceTemplet.EndTime) { foreach (var t in priceItemTime) { //判断sku时间 if (dayOfWeek == t.Week && timeSpan >= t.StartTime && timeSpan <= t.EndTime) { data.Price = priceItem.Price; data.AdditionalPrice = priceItem.AdditionalPrice; } } } } } #endregion ProductPriceView dataPrice = new ProductPriceView(); dataPrice.NowPrice = data.Price; int unitsRide = 1; foreach (var u in units) { unitsRide = unitsRide * u.Value; } dataPrice.TotalPrice = data.Price * unitsRide + data.AdditionalPrice; return(dataPrice); } }
/// <summary> /// 根据产品id 查询sku服务区域 /// </summary> /// <param name="pid">产品id</param> /// <param name="areaid">区域id</param> /// <param name="time">时间</param> /// <param name="skuValue">sku值</param> /// <param name="memberLevel">会员等级</param> /// <returns></returns> public static SkuErrorViewModel GetSkuPriceYj(int pid, int areaid, DateTime time, string skuValue, MemberLevel memberLevel = MemberLevel.普通会员) { //获取时间 DayOfWeek dayOfWeek = time.DayOfWeek; TimeSpan timeSpan = TimeSpan.Parse(time.GetDateTimeFormats('t')[0]); //获取价格 并验证是否存在 var skuPrices = SkuPriceBll.GetInstance().Table().Where(o => o.ProductId == pid).ToList(); if (skuPrices.Count() == 0) { return new SkuErrorViewModel { SkuError = SkuErrorEnum.产品的价格不服务 } } ; //获取区域 并验证是否存在 var skuAreas = SkuAreaBll.GetInstance().Table().Where(o => o.ProductId == pid).ToList(); if (skuAreas.Count() == 0) { return new SkuErrorViewModel { SkuError = SkuErrorEnum.务地区不存在 } } ; //获取时间 并验证是否存在 var skuTimes = SkuTimeBll.GetInstance().Table().Where(o => o.ProductId == pid).ToList(); if (skuTimes.Count() == 0) { return new SkuErrorViewModel { SkuError = SkuErrorEnum.务时间不存在 } } ; //获取并验证 产品价格 的 区域 var query = (from s in skuPrices join a in skuAreas on s.SkuAreaId equals a.Id where a.AreaId == areaid select s).OrderBy(o => o.Id).ToList(); if (query.Count() == 0) { return new SkuErrorViewModel { SkuError = SkuErrorEnum.务地区不存在 } } ; //获取并验证 产品价格 的 时间 query = (from s in query join t in skuTimes on s.SkuTimeId equals t.Id where t.Week == dayOfWeek && t.EndTime >= timeSpan && t.StartTime <= timeSpan select s).OrderBy(o => o.Id).ToList(); if (query.Count() == 0) { return new SkuErrorViewModel { SkuError = SkuErrorEnum.务时间不存在 } } ; query = query.Where(o => o.SkuValue == skuValue).OrderBy(o => o.Id).ToList(); if (query.Count() == 0) { return new SkuErrorViewModel { SkuError = SkuErrorEnum.Sku不存在 } } ; if (!query.FirstOrDefault().IsEnable) { return new SkuErrorViewModel { SkuError = SkuErrorEnum.产品的价格不服务 } } ; var data = query.FirstOrDefault(); string ProductCode = ProductBll.GetInstance().Get(pid).ProductCode; if (ProductCode.Trim() != "10000") { #region 查询产品价格模板是否存在价格 (isItem判断是否存在价格) //根据产品Id获取价格模板的价格 var items = PriceTempletItemBll.GetInstance().Table().Where(o => o.ProductId == pid).ToList(); // 根据已获取的产品价格Id 去获取价格模板的价格 var priceItem = new List <PriceTempletItem>(); //判断SkuPriceId if (items.Count() > 0) { priceItem = items.Where(o => o.SkuPriceId.Contains("," + data.Id.ToString() + ",")).ToList(); } //判断会员 if (priceItem.Count() > 0) { priceItem = priceItem.Where(o => o.MemberLevel.Contains("," + memberLevel + ",")).ToList(); } //判断时间 if (priceItem.Count() > 0) { foreach (var i in priceItem) { var skuTimeIdArray = i.SkuTimeId.Split(','); List <int> skuTimeIds = new List <int>(); for (int j = 0; j < skuTimeIdArray.Length; j++) { if (skuTimeIdArray[j] != "") { skuTimeIds.Add(int.Parse(skuTimeIdArray[j])); } } var priceItemTime = skuTimes.Where(o => skuTimeIds.Contains(o.Id)).ToList(); var priceTemplet = PriceTempletBll.GetInstance().Get(i.PriceTempletId); if (priceTemplet != null && priceTemplet.State == PriceTempletStateEnum.启用) { //判断价格模板时间 if (time >= priceTemplet.StartTime && time <= priceTemplet.EndTime) { foreach (var t in priceItemTime) { //判断sku时间 if (dayOfWeek == t.Week && timeSpan >= t.StartTime && timeSpan <= t.EndTime) { data.Price = i.Price; data.AdditionalPrice = i.AdditionalPrice; } } } } } } #endregion } return(new SkuErrorViewModel { SkuError = SkuErrorEnum.正常, SkuPriceView = data }); }
public ActionResult PaidCreate([Bind(Include = "Id,DateTime,Account,Password,CompanyName,CompanyNumber,Principal,PrincipalJobTitle,CompanyPhone,CompanyUrl,ContactPersonJobTitle,EmployeeCount,CompanyType,Industry,Training,CompanyIntroduction,Business,CompanyPhoto,ContactPerson,ContactPersonPhone,ContactPersonEmail,Address,Extension,Fax,Demand,Subscription,EditUser,LastEditDateTime")] MbPaidViewModel mbPaidViewModel, HttpPostedFileBase companyPhone, MemberLevel applicationType) { if (ModelState.IsValid) { Member member = new Member(); member.MemberLevel = applicationType; member.ApplicationStatus = ApplicationStatus.審核中; member.Account = mbPaidViewModel.Account; member.PasswordSalt = Utility.CreateSalt(); member.Password = Utility.GenerateHashWithSalt(mbPaidViewModel.Password, member.PasswordSalt); member.CompanyName = mbPaidViewModel.CompanyName; member.CompanyNumber = mbPaidViewModel.CompanyNumber; member.Principal = mbPaidViewModel.Principal; member.PrincipalJobTitle = mbPaidViewModel.PrincipalJobTitle; member.CompanyPhone = mbPaidViewModel.CompanyPhone; member.CompanyUrl = mbPaidViewModel.CompanyUrl; member.ContactPersonJobTitle = mbPaidViewModel.ContactPersonJobTitle; member.EmployeeCount = Convert.ToInt32(mbPaidViewModel.EmployeeCount); member.ContactPersonEmail = mbPaidViewModel.ContactPersonEmail; member.CompanyType = mbPaidViewModel.CompanyType; member.Industry = mbPaidViewModel.Industry; member.Training = mbPaidViewModel.Training; member.CompanyIntroduction = mbPaidViewModel.CompanyIntroduction; member.Business = mbPaidViewModel.Business; member.CompanyPhone = mbPaidViewModel.CompanyPhone; member.ContactPerson = mbPaidViewModel.ContactPerson; member.ContactPersonPhone = mbPaidViewModel.ContactPersonPhone; member.Address = mbPaidViewModel.Address; member.Extension = Convert.ToInt32(mbPaidViewModel.Extension); member.Fax = mbPaidViewModel.Fax; member.Demand = mbPaidViewModel.Demand; member.Subscription = mbPaidViewModel.Subscription; member.DateTime = DateTime.Now; member.LastEditDateTime = DateTime.Now; member.EditUser = mbPaidViewModel.Account; if (companyPhone != null) { if (companyPhone.ContentType.IndexOf("image", System.StringComparison.Ordinal) == -1) { ViewBag.message = "檔案類型錯誤"; return(View()); } member.CompanyPhoto = Utility.SaveUpImage(companyPhone); Utility.GenerateThumbnailImage(member.CompanyPhoto, companyPhone.InputStream, Server.MapPath("~/UpFile/Images"), "s", 290, 217); } db.Members.Add(member); db.SaveChanges(); return(RedirectToAction("Index", "Home")); } return(View(mbPaidViewModel)); }