Esempio n. 1
0
        public Response <bool> AddMoreFriend(InviteMoreFriendDTO request)
        {
            bool result = false;

            BusinessProcess.Current.Process(p =>
            {
                result = IoC.Get <IOrderBusiness>().AddMoreFriend(request);
            });

            return(BusinessProcess.Current.ToResponse(result));
        }
Esempio n. 2
0
        public Response <IList <FriendDTO> > SyncFriends(InviteMoreFriendDTO request)
        {
            IList <FriendDTO> result = null;

            BusinessProcess.Current.Process(p =>
            {
                result = IoC.Get <IAccountBusiness>().SyncFriends(request);
            });

            return(BusinessProcess.Current.ToResponse(result));
        }
Esempio n. 3
0
 public IHttpActionResult SyncFriends(InviteMoreFriendDTO request)
 {
     try
     {
         var result = _Service.SyncFriends(request);
         return(Ok(result.ToJsonResult(result.Data)));
     }
     catch (Exception ex)
     {
         logger.Error("SyncFriends Exception is {0}", ex);
         return(null);
     }
 }
Esempio n. 4
0
 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);
     }
 }
Esempio n. 5
0
 public IHttpActionResult AddMoreFriend(InviteMoreFriendDTO request)
 {
     logger.InfoFormat("data AddMoreFriend controller is {0}", Newtonsoft.Json.JsonConvert.SerializeObject(request, Newtonsoft.Json.Formatting.Indented));
     try
     {
         var result = _Service.AddMoreFriend(request);
         return(Ok(result.ToJsonResult(result.Data)));
     }
     catch (Exception ex)
     {
         logger.Error("AddMoreFriend Exception is {0}", ex);
         return(null);
     }
 }
Esempio n. 6
0
        public bool AddMoreFriend(InviteMoreFriendDTO request)
        {
            if (request.Context == null)
            {
                base.AddError("Authenticate failed !");
                return(false);
            }
            if (request.Friends == null)
            {
                base.AddError("Data invaild!");
                return(false);
            }
            var m_orderDetailRepository  = UnitOfWork.Repository <DB_TB_ORDER_DETAIL>();
            var m_orderDetails           = m_orderDetailRepository.GetQueryable().Where(a => a.OrderId == request.OrderId).ToList();
            var m_orderAccountRepository = UnitOfWork.Repository <DB_TB_INVITE_ACCOUNT>();

            if (!m_orderDetails.Any())
            {
                base.AddError("Data invaild!");
                return(false);
            }

            foreach (var item in request.Friends)
            {
                if (!string.IsNullOrEmpty(item.Email))
                {
                    if (item.Id > 0)
                    {
                        bool checkExist = m_orderDetails.Where(a => a.AccountId == item.Id).FirstOrDefault() != null;

                        if (!checkExist)
                        {
                            var m_friendDetail = new DB_TB_ORDER_DETAIL()
                            {
                                OrderId     = request.OrderId,
                                AccountId   = item.Id,
                                CreatedDate = DateTime.Now
                            };
                            m_orderDetailRepository.Add(m_friendDetail);

                            // add account in invite
                            m_orderAccountRepository.Add(new DB_TB_INVITE_ACCOUNT()
                            {
                                AccountId   = item.Id,
                                IsConfirmed = false,
                                IsSent      = false,
                                InviteId    = request.OrderId
                            });
                        }
                    }
                }
            }
            UnitOfWork.Commit();
            // update  friend ship
            AddFriendShip(request.OrderId);

            // update restaurant per account
            addRestaurantAccount(request.OrderId);
            // send email
            SendMessageInvite(request.OrderId);
            return(!this.HasError);
        }