public List <AccountDTO> AddOrUpdateAccount(AccountDTO dto) { // check authenticate if (dto.Context == null) { base.AddError("Authenticate failed !"); return(null); } var m_accountRepository = UnitOfWork.Repository <DB_TB_ACCOUNTS>(); if (dto.Id > 0) { // update var m_account = m_accountRepository.Get(a => a.ACC_SYS_ID == dto.Id); m_account.ACC_LASTNAME = dto.LastName; m_account.ACC_FIRSTNAME = dto.FirstName; m_accountRepository.Update(m_account); } else { //add var m_account = new DB_TB_ACCOUNTS() { ACC_EMAIL = dto.Email, ACC_FIRSTNAME = dto.FirstName, ACC_MIDDLENAME = dto.MiddleName, ACC_IS_ACTIVED = false, ACC_LASTNAME = dto.LastName, ACC_OWNER_ID = dto.Context.Id, ACC_PASSWORD = dto.Password, }; //m_account.ACC_TOKEN = Guid.NewGuid().ToString(); if (IsExistAccount(m_account.ACC_EMAIL)) { base.AddError("Tai khoan da ton tai"); return(null); } m_account.ACC_OWNER_ID = WorkContext.UserContext.UserId; m_accountRepository.Add(m_account); var m_friendRepository = UnitOfWork.Repository <DB_TB_FRIENDSHIP>(); m_friendRepository.Add(new DB_TB_FRIENDSHIP() { AccountId = WorkContext.UserContext.UserId, FriendId = m_account.ACC_SYS_ID, CreatedDate = DateTime.Now }); } UnitOfWork.Commit(); return(GetUsers()); }
public IList <FriendDTO> SyncFriends(InviteMoreFriendDTO request) { if (request.Context == null) { base.AddError("Authenticate failed !"); return(null); } if (request.Friends == null) { base.AddError("No contact to sync !"); return(null); } try { var m_accountRepository = UnitOfWork.Repository <DB_TB_ACCOUNTS>(); var m_friendshipRepository = UnitOfWork.Repository <DB_TB_FRIENDSHIP>(); var IorderBusiness = IoC.Get <IOrderBusiness>(); foreach (var item in request.Friends) { var checkAccount = m_accountRepository.GetQueryable().Where(a => a.ACC_EMAIL == item.Email).FirstOrDefault(); if (checkAccount != null) { if (!IorderBusiness.CheckExistFriendShip(request.Context.Id, checkAccount.ACC_SYS_ID)) { m_friendshipRepository.Add(IorderBusiness.BuildRowFriendShip(request.Context.Id, checkAccount.ACC_SYS_ID)); m_friendshipRepository.Add(IorderBusiness.BuildRowFriendShip(checkAccount.ACC_SYS_ID, request.Context.Id)); } } else { var rowAccount = new DB_TB_ACCOUNTS() { ACC_EMAIL = item.Email, ACC_FIRSTNAME = item.FirstName, ACC_IS_ACTIVED = false }; m_accountRepository.Add(rowAccount); } UnitOfWork.Commit(); } SearchDTO search = new SearchDTO() { Token = request.Token }; return(GetFriends(search)); } catch (Exception) { return(null); } }
public LoginResultDTO SignUp(SignUpDTO request) { if (string.IsNullOrEmpty(request.Email)) { base.AddError("Please input Email"); return(null); } if (string.IsNullOrEmpty(request.Password)) { base.AddError("Please input Password"); return(null); } var m_accountRepository = UnitOfWork.Repository <DB_TB_ACCOUNTS>(); var emailExist = m_accountRepository.GetQueryable().Where(a => a.ACC_EMAIL == request.Email).FirstOrDefault(); if (emailExist != null) { if (emailExist.ACC_IS_ACTIVED) { base.AddError("Email existed !"); return(null); } else { emailExist.ACC_IS_ACTIVED = true; emailExist.ACC_PASSWORD = request.Password; m_accountRepository.Update(emailExist); } } else { var newAccount = new DB_TB_ACCOUNTS() { ACC_EMAIL = request.Email, ACC_PASSWORD = request.Password, ACC_IS_ACTIVED = true, ACC_RESGISTRANTION_ID = request.DeviceKey, }; m_accountRepository.Add(newAccount); } UnitOfWork.Commit(); return(Relogin(request.Email)); }
public bool AddInvite(InviteDTO request) { if (request.Context == null) { base.AddError("Authenticate failed !"); return(false); } if (request.Friends == null) { base.AddError("Data invaild!"); return(false); } var m_orderRepository = UnitOfWork.Repository <DB_TB_ORDERS>(); var m_friendRepository = UnitOfWork.Repository <DB_TB_ACCOUNTS>(); var m_orderDetailRepository = UnitOfWork.Repository <DB_TB_ORDER_DETAIL>(); var m_orderAccountRepository = UnitOfWork.Repository <DB_TB_INVITE_ACCOUNT>(); var m_invite = new DB_TB_ORDERS() { Title = request.Title, LunchDate = request.LunchDate, OwnerId = request.Context.Id, RestaurantId = request.PlaceId, CreatedDate = DateTime.Now, Description = request.Description }; if (!string.IsNullOrEmpty(request.Place.Name) && string.IsNullOrEmpty(request.Place.Address)) { var row = new DB_TB_RESTAURANT() { Address = request.Place.Address, Name = request.Place.Name, Latitude = request.Place.Latitude, Longitude = request.Place.Longitude, MenuUrl = request.Place.MenuUrl, OwnerId = request.Context.Id, CreatedDate = DateTime.Now }; UnitOfWork.Repository <DB_TB_RESTAURANT>().Add(row); m_invite.DB_TB_RESTAURANT = row; } // add current account to order detail var m_currentuserDetail = new DB_TB_ORDER_DETAIL() { DB_TB_ORDERS = m_invite, AccountId = request.Context.Id, CreatedDate = DateTime.Now }; m_orderDetailRepository.Add(m_currentuserDetail); // add friend to order detail foreach (var item in request.Friends) { var rowAccountInvite = new DB_TB_INVITE_ACCOUNT() { IsConfirmed = false, IsSent = false, DB_TB_ORDERS = m_invite }; var m_inviteDetail = new DB_TB_ORDER_DETAIL() { DB_TB_ORDERS = m_invite, }; // FRIEND SHIP if (item.Id <= 0) { // add friend ship var m_account = new DB_TB_ACCOUNTS() { ACC_EMAIL = item.Email, ACC_IS_ACTIVED = false, ACC_FIRSTNAME = item.FirstName }; // check exist by email var exist = m_friendRepository.GetQueryable().Where(a => a.ACC_EMAIL == item.Email).FirstOrDefault(); if (exist == null) { m_friendRepository.Add(m_account); m_inviteDetail.DB_TB_ACCOUNTS = m_account; rowAccountInvite.DB_TB_ACCOUNTS = m_account; } else { m_inviteDetail.AccountId = exist.ACC_SYS_ID; rowAccountInvite.AccountId = exist.ACC_SYS_ID; } } else { m_inviteDetail.AccountId = item.Id; rowAccountInvite.AccountId = item.Id; } m_inviteDetail.CreatedDate = DateTime.Now; m_orderDetailRepository.Add(m_inviteDetail); m_orderAccountRepository.Add(rowAccountInvite); } UnitOfWork.Commit(); // update friend ship AddFriendShip(m_invite.Id); // update restaurant per account addRestaurantAccount(m_invite.Id); // send email SendMessageInvite(m_invite.Id); return(!this.HasError); }
public List <AccountDTO> AddOrUpdateFriend(AccountDTO dto) { // check authenticate if (dto.Context == null) { base.AddError("Authenticate failed !"); return(null); } var m_accountRepository = UnitOfWork.Repository <DB_TB_ACCOUNTS>(); var m_friendRepository = UnitOfWork.Repository <DB_TB_FRIENDSHIP>(); if (dto.Id > 0) { // update var m_account = m_accountRepository.Get(a => a.ACC_SYS_ID == dto.Id); m_account.ACC_LASTNAME = dto.LastName; m_account.ACC_FIRSTNAME = dto.FirstName; m_accountRepository.Update(m_account); } else { //add var m_account = new DB_TB_ACCOUNTS() { ACC_EMAIL = dto.Email, ACC_FIRSTNAME = dto.FirstName, ACC_MIDDLENAME = dto.MiddleName, ACC_IS_ACTIVED = false, ACC_LASTNAME = dto.LastName, ACC_OWNER_ID = dto.Context.Id, }; // check email alright exist? var accountExist = m_accountRepository.GetQueryable().Where(a => a.ACC_EMAIL == m_account.ACC_EMAIL).FirstOrDefault(); if (accountExist != null) { // check relationship if account existed var friendRelation = m_friendRepository.GetQueryable().Where(a => a.AccountId == dto.Context.Id && a.FriendId == accountExist.ACC_SYS_ID).FirstOrDefault(); if (friendRelation == null) { m_friendRepository.Add(new DB_TB_FRIENDSHIP() { AccountId = dto.Context.Id, FriendId = accountExist.ACC_SYS_ID, CreatedDate = DateTime.Now }); } } else { m_account.ACC_OWNER_ID = dto.Context.Id; m_accountRepository.Add(m_account); m_friendRepository.Add(new DB_TB_FRIENDSHIP() { AccountId = dto.Context.Id, FriendId = m_account.ACC_SYS_ID, CreatedDate = DateTime.Now }); } } UnitOfWork.Commit(); return(GetUsers()); }