예제 #1
0
        private void AddNewDelivery()
        {
            try
            {
                SelectedClient   = new ClientDTO();
                SelectedDelivery = new DeliveryHeaderDTO
                {
                    OrderDate      = DateTime.Now,
                    Status         = DeliveryStatusTypes.Ordered,
                    AcceptanceType = AcceptanceTypes.OutsideOffice
                };
                _deliveryService.InsertOrUpdate(SelectedDelivery);

                //SelectedDelivery.Number = "D" + (100000 + SelectedDelivery.Id).ToString(CultureInfo.InvariantCulture).Substring(1);
                //_deliveryService.InsertOrUpdate(SelectedDelivery);

                //ExcuteChooseOrderByClient();
            }
            catch (Exception exception)
            {
                MessageBox.Show("Can't add new"
                                + Environment.NewLine + exception.Message, "Can't add new", MessageBoxButton.OK,
                                MessageBoxImage.Error);
            }
        }
예제 #2
0
 public DeliveryLineEntry(DeliveryHeaderDTO deliveryDTO)
 {
     DeliveryLineViewModel.Errors = 0;
     InitializeComponent();
     Messenger.Default.Send <DeliveryHeaderDTO>(deliveryDTO);
     Messenger.Reset();
 }
예제 #3
0
        public bool ObjectExists(DeliveryHeaderDTO delivery)
        {
            var objectExists = false;
            var iDbContext   = DbContextUtil.GetDbContextInstance();

            try
            {
                var catRepository = new Repository <DeliveryHeaderDTO>(iDbContext);
                var catExists     = catRepository
                                    .Query()
                                    .Filter(bp => bp.OrderDate == delivery.OrderDate && bp.Id != delivery.Id)
                                    .Get()
                                    .FirstOrDefault();
                if (catExists != null)
                {
                    objectExists = true;
                }
            }
            finally
            {
                iDbContext.Dispose();
            }

            return(objectExists);
        }
예제 #4
0
 public OrderByClientEntry(DeliveryHeaderDTO deliveryDTO)
 {
     OrderByClientViewModel.Errors = 0;
     InitializeComponent();
     Messenger.Default.Send <DeliveryHeaderDTO>(deliveryDTO);
     Messenger.Reset();
 }
예제 #5
0
        public string Disable(DeliveryHeaderDTO delivery2)
        {
            if (delivery2 == null)
            {
                return(GenericMessages.ObjectIsNull);
            }

            var    iDbContextTemp = DbContextUtil.GetDbContextInstance();
            var    unitOfWorkTemp = new UnitOfWork(iDbContextTemp);
            string stat;

            try
            {
                var delivery = unitOfWorkTemp.Repository <DeliveryHeaderDTO>().Query()
                               .Include(t => t.DeliveryLines)
                               .Filter(t => t.Id == delivery2.Id)
                               .Get()
                               .FirstOrDefault();
                var deliveryRepository2            = unitOfWorkTemp.Repository <DeliveryHeaderDTO>();
                var deliveryLineRepository2        = unitOfWorkTemp.Repository <DeliveryLineDTO>();
                var deliveryLineMessageRepository2 = unitOfWorkTemp.Repository <MessageDTO>();

                if (delivery != null)
                {
                    foreach (var deliveryLine in delivery.DeliveryLines.Where(t => t.Enabled))
                    {
                        deliveryLine.Enabled = false;
                        deliveryLineRepository2.Update(deliveryLine);

                        var line     = deliveryLine;
                        var messages = unitOfWorkTemp.Repository <MessageDTO>().Query()
                                       .Filter(t => t.DeliveryLineId == line.Id)
                                       .Get().ToList();

                        foreach (var message in messages)
                        {
                            message.Enabled = false;
                            deliveryLineMessageRepository2.Update(message);
                        }
                    }
                    delivery.Enabled = false;
                    deliveryRepository2.Update(delivery);
                }
                unitOfWorkTemp.Commit();
                stat = string.Empty;
            }
            catch (Exception exception)
            {
                stat = exception.Message;
            }
            finally
            {
                iDbContextTemp.Dispose();
            }
            return(stat);
        }
예제 #6
0
        public string Validate(DeliveryHeaderDTO delivery)
        {
            if (null == delivery)
            {
                return(GenericMessages.ObjectIsNull);
            }

            //if (delivery.WarehouseId == 0)
            //    return "Warehouse " + GenericMessages.ObjectIsNull;

            if (String.IsNullOrEmpty(delivery.Number))
            {
                return(delivery.Number + " " + GenericMessages.StringIsNullOrEmpty);
            }

            if (delivery.Number.Length > 50)
            {
                return(delivery.Number + " can not be more than 50 characters ");
            }

            return(string.Empty);
        }
예제 #7
0
        public string InsertOrUpdate(DeliveryHeaderDTO delivery)
        {
            try
            {
                var validate = Validate(delivery);
                if (!string.IsNullOrEmpty(validate))
                {
                    return(validate);
                }

                if (ObjectExists(delivery))
                {
                    return(GenericMessages.DatabaseErrorRecordAlreadyExists);
                }

                _deliveryRepository.InsertUpdate(delivery);
                _unitOfWork.Commit();
                return(string.Empty);
            }
            catch (Exception exception)
            {
                return(exception.Message);
            }
        }