Exemplo n.º 1
0
        static void ExportCustomer(int OldId)
        {
            var existsClients = AlohaFly.DBProvider.Client.GetOrderCustomerList().Result;
            var cls           = db.Client;
            //var clsList = new List<OrderCustomer>();
            var cl = db.Client.SingleOrDefault(a => a.ID == OldId);

            if (existsClients.Any(a => a.OldId == cl.ID))
            {
                return;
            }
            var orderCustomer = new OrderCustomer();

            orderCustomer.OldId           = cl.ID;
            orderCustomer.Name            = cl.Name;
            orderCustomer.SecondName      = cl.FamilyName;
            orderCustomer.IsActive        = true;
            orderCustomer.Comments        = cl.Comment;
            orderCustomer.DiscountPercent = 0;
            orderCustomer.Email           = cl.Email;

            orderCustomer.Phones = new List <OrderCustomerPhone>();
            foreach (var tel in db.Tel.Where(a => a.ID == cl.ID))
            {
                OrderCustomerPhone ph = new OrderCustomerPhone()
                {
                    IsActive  = tel.Active,
                    IsPrimary = (tel.ID == db.Tel.Where(a => a.ID == cl.ID).Select(a => a.ID).Max()),
                    Phone     = tel.Number
                };
                orderCustomer.Phones.Add(ph);
            }
            orderCustomer.Addresses = new List <OrderCustomerAddress>();
            {
                foreach (var addr in db.Address.Where(a => a.ID == cl.ID))
                {
                    OrderCustomerAddress ph = new OrderCustomerAddress()
                    {
                        IsActive  = addr.Active.GetValueOrDefault(true),
                        IsPrimary = (addr.ID == db.Address.Where(a => a.ID == cl.ID).Select(a => a.ID).Max()),
                        Address   = addr.Address1,
                        Comment   = addr.Comment,
                        MapUrl    = addr.MapURL,
                        SubWay    = addr.Subway,
                        ZoneId    = addr.Zone.GetValueOrDefault(1),
                        OldId     = addr.ID
                    };
                    orderCustomer.Addresses.Add(ph);
                }
            }
            //clsList.Add(orderCustomer);
            var res = AlohaFly.DBProvider.Client.CreateOrderCustomer(orderCustomer);

            if (!res.Success)
            {
                string err = res.ErrorMessage;
            }
        }
Exemplo n.º 2
0
 public static bool PhoneEquals(this OrderCustomerPhone orig, OrderCustomerPhone phone)
 {
     if (phone == null)
     {
         return(false);
     }
     return((orig.IsActive == phone.IsActive) &&
            (orig.IsPrimary == phone.IsPrimary) &&
            (orig.Phone == phone.Phone));
 }
 public void SetPrimaryPhone(OrderCustomerPhone value)
 {
     PrimaryPhone = value;
 }
Exemplo n.º 4
0
        static void ExportCustomers()
        {
            _logger.Debug("ExportCustomers ");
            try
            {
                DateTime dtstart = new DateTime(2019, 01, 01);
                //var existsD = AlohaFly.DBProvider.Client.GetDishList().Result.Where(a => a.IsToGo);
                var oldOrdersCustIds = db.Orders.Where(a => a.DateDelivery >= dtstart).Select(a => a.ClientID).ToList();

                var existsClients = AlohaFly.DBProvider.Client.GetOrderCustomerList().Result;
                var cls           = db.Client.Where(a => oldOrdersCustIds.Contains(a.ID));
                var clsList       = new List <OrderCustomer>();
                foreach (var cl in cls)
                {
                    try
                    {
                        if (existsClients.Any(a => a.OldId == cl.ID))
                        {
                            continue;
                        }
                        var orderCustomer = new OrderCustomer();
                        orderCustomer.OldId           = cl.ID;
                        orderCustomer.Name            = cl.Name;
                        orderCustomer.SecondName      = cl.FamilyName;
                        orderCustomer.IsActive        = true;
                        orderCustomer.Comments        = cl.Comment;
                        orderCustomer.DiscountPercent = 0;
                        orderCustomer.Email           = cl.Email;

                        orderCustomer.Phones = new List <OrderCustomerPhone>();
                        foreach (var tel in db.Tel.Where(a => a.ClientID == cl.ID))
                        {
                            OrderCustomerPhone ph = new OrderCustomerPhone()
                            {
                                IsActive  = tel.Active,
                                IsPrimary = (tel.ID == db.Tel.Where(a => a.ClientID == cl.ID).Select(a => a.ID).Max()),
                                Phone     = tel.Number
                            };
                            orderCustomer.Phones.Add(ph);
                        }
                        orderCustomer.Addresses = new List <OrderCustomerAddress>();
                        {
                            foreach (var addr in db.Address.Where(a => a.ClientID == cl.ID))
                            {
                                OrderCustomerAddress ph = new OrderCustomerAddress()
                                {
                                    IsActive  = addr.Active.GetValueOrDefault(true),
                                    IsPrimary = (addr.ID == db.Address.Where(a => a.ClientID == cl.ID).Select(a => a.ID).Max()),
                                    Address   = addr.Address1,
                                    Comment   = addr.Comment,
                                    MapUrl    = addr.MapURL,
                                    SubWay    = addr.Subway,
                                    ZoneId    = addr.Zone.GetValueOrDefault(1),
                                    OldId     = addr.ID
                                };
                                orderCustomer.Addresses.Add(ph);
                            }
                        }
                        //clsList.Add(orderCustomer);
                        var res = AlohaFly.DBProvider.Client.CreateOrderCustomer(orderCustomer);
                        if (!res.Success)
                        {
                            string err = res.ErrorMessage;
                        }
                    }
                    catch (Exception e)
                    {
                        _logger.Debug("error  ExportCustomers " + e.Message);
                    }
                }
            }
            catch (Exception exc)
            {
                _logger.Debug("Error2  ExportCustomers " + exc.Message);
            }
        }