private void Init()
 {
     OrderDetailsVM       = new OrderDetailsVM(Auction, order);
     DatesRegulationVM    = new DatesRegulationVM(Auction);
     AuctionPrimaryDataVM = new AuctionPrimaryDataVM(Auction);
     LotsListVM           = new LotsListVM(Auction);
     SupplierOrdersListVM = new SupplierOrdersListVM(Auction);
 }
        public List <KeyValuePair <string, DateTime> > getOrder(DateTime orderDate)
        {
            Auction auc = new Auction();

            auc.Id = 0;
            DatesRegulationVM dateRegulation = new DatesRegulationVM(auc);
            var list = new List <KeyValuePair <string, DateTime> >()
            {
                new KeyValuePair <string, DateTime>("AuctionDate", dateRegulation.Order.Auction.Date),
                new KeyValuePair <string, DateTime>("ApplicantsDeadline", dateRegulation.Order.Auction.ApplicantsDeadline),
                new KeyValuePair <string, DateTime>("ExchangeProvisionDeadline", dateRegulation.Order.Auction.ExchangeProvisionDeadline),
                new KeyValuePair <string, DateTime>("OrderDate", dateRegulation.Order.Date),
                new KeyValuePair <string, DateTime>("OrderDeadline", dateRegulation.Order.Deadline),
            };

            return(list);
        }
        private void Save()
        {
            Auction      = AuctionPrimaryDataVM.Auction;
            Auction.Date = DatesRegulationVM.Order.Auction.Date;

            if (Auction.Id == 0)
            {
                if (string.IsNullOrEmpty(Auction.Number))
                {
                    MessagesService.Show("Сохранение аукциона", "Аукцион не может быть сохранен, так как не имеет номера");
                    return;
                }

                Auction.OwnerId      = 1;
                Auction.signStatusId = 1;

                try {
                    Auction.RegulationId = DatesRegulationVM.CreateRegulation();
                } catch { MessagesService.Show("Сохранение аукциона", "Произошла ошибка при сохранении дат"); return; }

                try {
                    Auction.FilesListId = DocumentService.CreateFilesList("Файлы аукциона №" + Auction.Number);
                } catch { MessagesService.Show("Сохранение аукциона", "Произошла ошибка во время занесения данных аукциона"); return; }

                try {
                    Auction.Id = AuctionService.CreateAuction(Auction);
                } catch { MessagesService.Show("Сохранение аукциона", "Произошла ошибка при сохранении аукциона"); return; }

                if (OrderDetailsVM.Order.id != 0)
                {
                    // Update order
                }
                else
                {
                    // Create order
                    order.customerid = Auction.CustomerId;
                    order.auctionId  = Auction.Id;
                    order.statusId   = 4;
                    order.Number     = Auction.Number;
                    order.siteId     = Auction.SiteId;
                    order.Date       = DatesRegulationVM.Order.Date;

                    try {
                        order.filesListId = DocumentService.CreateFilesList("Файлы заявки №" + order.Number);
                    } catch { MessagesService.Show("Сохранение аукциона", "Произошла ошибка во время занесения данных заявки"); return; }

                    try {
                        order.id = AuctionService.CreateOrder(order);
                    } catch { MessagesService.Show("Сохранение аукциона", "Произошла ошибка при создании заявки"); return; }
                }

                Init();
            }
            else
            {
                try {
                    DatesRegulationVM.UpdateRegulation(Auction.RegulationId);
                } catch { MessagesService.Show("Сохранение аукциона", "Произошла ошибка при сохранении дат"); return; }

                try {
                    AuctionService.UpdateAuction(Auction);
                } catch { MessagesService.Show("Сохранение аукциона", "Произошла ошибка при сохранении аукциона"); return; }
            }

            MessagesService.Show("Сохранение аукциона", "Аукциона успешно сохранен");
        }