public async Task <MessageModel <List <AllData> > > Post(string openId, string name, DateTime date) { try { _userServices.GetAdo().BeginTran(); var data = new MessageModel <List <AllData> >(); User user = (await _userServices.Query(q => q.OpenId == openId)).FirstOrDefault(); if (user != null) { user.Version += 1; Info info = new Info() { OpenId = openId, Name = name }; var infoId = (await _infoServices.Add(info)); if (infoId > 0) { InfoDetail infoDetail = new InfoDetail() { InfoId = infoId, Date = date, Count = 0, Type = "日" }; var infoDetailId = (await _infoDetailServices.Add(infoDetail)); if (await _userServices.Update(user) && infoDetailId > 0) { data.success = true; } } if (data.success) { data.response = (await userController.Get(openId)).response; data.msg = "添加成功"; _userServices.GetAdo().CommitTran(); } else { _userServices.GetAdo().RollbackTran(); } } return(data); } catch (Exception ex) { _userServices.GetAdo().RollbackTran(); throw ex; } }
public async Task <MessageModel <List <AllData> > > Post(string openId, int infoId, int addCount, string type) { try { _userServices.GetAdo().BeginTran(); var data = new MessageModel <List <AllData> >(); if (addCount != 0) { User user = (await _userServices.Query(q => q.OpenId == openId)).FirstOrDefault(); if (user != null) { user.Version += 1; InfoDetail infoDetailInitail = (await _infoDetailServices.Query(q => q.InfoId == infoId && q.Count == 0 && q.Type == "日")).FirstOrDefault(); if (infoDetailInitail != null) { InfoDetail infoDetail = new InfoDetail() { InfoId = infoId, Type = type, Count = addCount, Date = GetDate(infoDetailInitail.Date.Value, addCount, type) }; if (await _userServices.Update(user) && await _infoDetailServices.Add(infoDetail) > 0) { data.success = true; } if (data.success) { data.response = (await userController.Get(openId)).response; data.msg = "添加成功"; _userServices.GetAdo().CommitTran(); } else { _userServices.GetAdo().RollbackTran(); } } } } return(data); } catch (Exception ex) { _userServices.GetAdo().RollbackTran(); throw ex; } }
private async Task <List <AllData> > UserInitialAsync(string openId) { try { _userServices.GetAdo().BeginTran(); List <AllData> allDatas = new List <AllData>(); User newUser = new User { OpenId = openId, Version = 0 }; var userId = await _userServices.Add(newUser, false); if (userId > 0) { Info newInfo = new Info() { OpenId = openId, Name = "初体验" }; var infoId = (await _infoServices.Add(newInfo)); if (infoId > 0) { InfoDetail infoDetail0day = new InfoDetail() { InfoId = infoId, Date = DateTime.Now, Count = 0, Type = "日" }; List <InfoDetail> newInfoDetails = new List <InfoDetail> { new InfoDetail() { InfoId = infoId, Date = DateTime.Now.Date, Count = 0, Type = "日" }, new InfoDetail() { InfoId = infoId, Date = DateTime.Now.Date.AddDays(100), Count = 100, Type = "日" }, new InfoDetail() { InfoId = infoId, Date = DateTime.Now.Date.AddMonths(100), Count = 100, Type = "月" }, new InfoDetail() { InfoId = infoId, Date = DateTime.Now.Date.AddYears(100), Count = 100, Type = "年" } }; bool addSuccess = true; foreach (var infoDetail in newInfoDetails) { var infoDetailId = await _infoDetailServices.Add(infoDetail); if (infoDetailId <= 0) { addSuccess = false; break; } } if (addSuccess) { allDatas.Add(new AllData() { user = newUser, info = newInfo, infoDetail = newInfoDetails }); } } } if (allDatas.Count > 0) { _userServices.GetAdo().CommitTran(); } else { _userServices.GetAdo().RollbackTran(); } return(allDatas); } catch (Exception ex) { _userServices.GetAdo().RollbackTran(); throw ex; } }