/// <summary>
        /// add host to system
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void bt_HostRegist_Click(object sender, RoutedEventArgs e)
        {
            BO.Host host = new BO.Host();
            if (tbIdHost.Text.Length == 0 || tbAccountNum.Text.Length == 0 || tbBranchNum.Text.Length == 0 || tbBankNum.Text.Length == 0)
            {
                MessageBox.Show("אחד השדות או יותר חסרים :");
                return;
            }
            host.AccountDetails = new BankBranch()
            {
                AccuontNumber = int.Parse(tbAccountNum.Text),
                BranchNumber  = int.Parse(tbBranchNum.Text),
                BankNumber    = int.Parse(tbBankNum.Text),
            };


            host.CollectionClearance = cb_permission.IsChecked.Value;
            host.WebSite             = tbWebSite.Text;
            host.MyOrders            = new List <BO.Order>();
            host.MyUnits             = new List <BO.HostingUnit>();
            host.HostInfo            = new Person()
            {
                Email     = tbMailHost.Text,
                Address   = "",
                FirstName = tbFirstNameHost.Text,
                Id        = int.Parse(tbIdHost.Text),
                LastName  = tbLastNameHost.Text,
                Phone     = tbPhoneHost.Text,
                Password  = tbPassword1Host.Password,
                Status    = BO.PersonStatus.ACTIVE,
            };


            try
            {
                bl.GetHost(host.HostInfo.Id);
                MessageBox.Show("המשתמש קיים במערכת ");
                ClearTextBox();
                HostLogBorder.Visibility = Visibility.Hidden;
            }
            catch
            {
                try
                {
                    Person per = bl.GetPerson(host.HostInfo.Id);
                    bl.UpdatePerson(host.HostInfo);
                    bl.AddHost(host);
                }
                catch
                {
                    bl.AddPerson(host.HostInfo);
                    bl.AddHost(host);
                }

                MessageBox.Show("נרשמת בהצלחה למערכת");
                ClearTextBox();
                HostLogBorder.Visibility = Visibility.Hidden;
            }
        }
 public static DO.Host Conv_BO_To_DO(BO.Host item)
 {
     DO.Host temp = new DO.Host();
     temp.AccountDetails      = Conv_BO_To_DO(item.AccountDetails);
     temp.CollectionClearance = item.CollectionClearance;
     temp.WebSite             = item.WebSite;
     temp.Id     = item.HostInfo.Id;
     temp.Status = DO.ActivityStatus.ACTIVE;
     return(temp);
 }
Ejemplo n.º 3
0
 public void UpdateHost(BO.Host host)
 {
     if (host.CollectionClearance == false)
     {
         if (!AbleToChangeCollectionClearance(host))
         {
             throw new InvalidOperationException("You can't change a collection clearance Status to false because you have open invitations for you");
         }
     }
     dal.UpdateHost(Conversions.CastingToDOHost(host));
 }
        public void UpdateStatusOrder(BO.OrderStatus updateorder, int key)
        {
            try
            {
                BO.Order tmp1 = Converters.Conv_DO_To_BO(dal.GetOrder(key));
                if (tmp1.Status == OrderStatus.IGNORED_CLOSED || tmp1.Status == OrderStatus.APPROVED)
                {
                    throw new Exception("אין אפשרות לשנות את הסטטוס לאחר סגירת עסקה");
                }
                BO.Host temp2 = Converters.Conv_DO_To_BO(dal.GetHost(tmp1.HostId));
                if (updateorder == OrderStatus.MAIL_SENT)
                {
                    if (!temp2.CollectionClearance)
                    {
                        throw new Exception("אין אפשרות לשלוח מייל ללקוח מבלי לחתום על הרשאה לחיוב חשבון");
                    }
                }
                if (updateorder == OrderStatus.APPROVED)
                {
                    BO.Order        update  = Converters.Conv_DO_To_BO(dal.GetOrder(key));
                    BO.HostingUnit  unit    = Converters.Conv_DO_To_BO(dal.GetHostingUnit(update.HostingUnitKey));
                    BO.GuestRequest request = Converters.Conv_DO_To_BO(dal.GetGuestRequest(update.GuestRequestKey));
                    SetDairy(unit, request);
                    dal.UpdateHostingUnit(Converters.Conv_BO_To_DO(unit));
                    update.ClientName = dal.GetPerson(update.ClientId).FirstName + dal.GetPerson(update.ClientId).LastName;
                    update.Commission = 10; //סכום העמלה
                    dal.UpdateOrder(Converters.Conv_BO_To_DO(update));
                    List <Order> lst = GetOrdersByRequestKey(request.Key).ToList();
                    foreach (var i in lst)//change all orders to Irrelevant
                    {
                        if (i.Key != update.Key)
                        {
                            dal.UpdateStatusOrder(i.Key, DO.OrderStatus.IRRELEVANT);
                        }
                    }
                    try
                    {
                        SendEmail(tmp1);
                    }
                    catch (Exception)
                    {
                        throw new Exception("Check your Internet connection");
                    }

                    ////////////////////////////////////////////////////////////////////////////////////////
                }
                dal.UpdateStatusOrder(key, (DO.OrderStatus)updateorder);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Ejemplo n.º 5
0
 public static DO.Host CastingToDOHost(BO.Host host)
 {
     DO.Host dHost = new DO.Host()
     {
         Website             = host.Website,
         BankAccuontNumber   = host.BankAccuontNumber,
         Status              = (DO.Status)host.Status,
         BankNumber          = host.BankBranch.BankNumber,
         BranchNumber        = host.BankBranch.BranchNumber,
         CollectionClearance = host.CollectionClearance,
         HostID              = host.Person.Id,
         TotalCommission     = host.TotalCommission
     };
     return(dHost);
 }
Ejemplo n.º 6
0
 public static BO.Host CastingToBOHost(DO.Host host)
 {
     BO.Host bHost = new BO.Host();
     bHost.Person              = new Person();
     bHost.Person              = imp.GetPerson(host.HostID);
     bHost.BankBranch          = imp.GetBankBranch(host.BranchNumber);
     bHost.BankAccuontNumber   = host.BankAccuontNumber;
     bHost.CollectionClearance = host.CollectionClearance;
     bHost.Status              = (BO.Status)host.Status;
     bHost.TotalCommission     = host.TotalCommission;
     bHost.HostingUnits        = imp.GetHostingUnitsOfHost(host.HostID);
     bHost.Orders              = imp.GetOrdersOfHost(host.HostID);
     bHost.Website             = host.Website;
     return(bHost);
 }
Ejemplo n.º 7
0
 public void DeleteHost(BO.Host host)
 {
     dal.DeleteHost(Conversions.CastingToDOHost(host));
 }
Ejemplo n.º 8
0
 public bool EmailPremissionCheck(BO.Host host)//
 {
     return(dal.RecieveHost(host.Person.Id).CollectionClearance);
 }
Ejemplo n.º 9
0
        public bool AbleToChangeCollectionClearance(BO.Host host)
        {
            var orders = dal.GetOrdersList(x => x.HostID == host.Person.Id).Where(x => IsOpenOrder(Conversions.CastingToBO_Order(x)));

            return(!orders.Any());
        }
Ejemplo n.º 10
0
 //all adding functions check if its exist or no
 //so we dont check here
 public void AddHost(BO.Host host)
 {
     dal.AddHost(Conversions.CastingToDOHost(host));
 }