Esempio n. 1
0
 private static void AddDependencies(UnitOfWork unitOfWork, Order item, DB.Orders dbItem)
 {
     foreach (var itm in item.Damages)
     {
         var did = Damages.AddNew(itm, unitOfWork, true);
         itm.Id = did;
         OrderDamages.AddNew(itm, dbItem, unitOfWork);
     }
     foreach (var serv in item.Services)
     {
         OrderServices.AddNew(serv, dbItem, unitOfWork);
     }
 }
Esempio n. 2
0
            public static void DeleteByClient(int id)
            {
                using (var unitOfWork = new UnitOfWork())
                {
                    using (var items = new XPCollection <DB.Orders>(unitOfWork))
                    {
                        var dbItems = items.Where(u => u.Client != null && u.Client.Id == id).ToArray();

                        items.DeleteObjectOnRemove = true;
                        //связи
                        for (int index = 0; index < dbItems.Count(); index++)
                        {
                            var item = dbItems[index];
                            OrderDamages.DeleteByOrder(item.Id, unitOfWork);
                            OrderServices.DeleteByOrder(item.Id, unitOfWork);
                            items.Remove(item);
                        }
                    }
                    unitOfWork.CommitChanges();
                }
            }
Esempio n. 3
0
            public static void Delete(int id)
            {
                using (var unitOfWork = new UnitOfWork())
                {
                    using (var items = new XPCollection <DB.Orders>(unitOfWork))
                    {
                        var dbItem = items.FirstOrDefault(u => u.Id == id);
                        if (dbItem == null)
                        {
                            throw new Exception(Resources.Orders_Read_Заказ_не_найден_);
                        }

                        items.DeleteObjectOnRemove = true;
                        //связи
                        OrderDamages.DeleteByOrder(id, unitOfWork);
                        OrderServices.DeleteByOrder(id, unitOfWork);
                        items.Remove(dbItem);
                    }

                    unitOfWork.CommitChanges();
                }
            }
Esempio n. 4
0
            internal static int Change(Order item)
            {
                using (var unitOfWork = new UnitOfWork())
                {
                    DB.Orders dbItem;
                    using (var items = new XPCollection <DB.Orders>(unitOfWork))
                    {
                        dbItem = items.FirstOrDefault(u => u.Id == item.Id);
                        if (dbItem == null)
                        {
                            throw new Exception(Resources.Orders_Read_Заказ_не_найден_);
                        }

                        dbItem.Closed       = item.Closed;
                        dbItem.DateFrom     = item.DateFrom;
                        dbItem.DateTo       = item.DateTo;
                        dbItem.MileageEnd   = item.MileageEnd;
                        dbItem.Other        = item.Other;
                        dbItem.Overrun      = item.Overrun;
                        dbItem.Territory    = item.Territory;
                        dbItem.Wash         = item.Wash;
                        dbItem.Discount     = item.Discount;
                        dbItem.DiscountType = item.DiscountType;
                        dbItem.SiteId       = item.SiteId;
                        dbItem.Deleted      = item.Deleted;
                        FillDependencies(unitOfWork, dbItem, item);
                    }
                    //связи
                    OrderDamages.DeleteByOrder(item.Id, unitOfWork);
                    OrderServices.DeleteByOrder(item.Id, unitOfWork);
                    AddDependencies(unitOfWork, item, dbItem);
                    unitOfWork.CommitChanges();

                    return(item.Id);
                }
            }