Beispiel #1
0
        private void btnGetDetails_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(txtWarehouseCode.Text))
            {
                MessageBox.Show("Enter a Warehouse Code");
                bool setcursorto = txtWarehouseCode.Focus();
                return;
            }

            if (String.IsNullOrEmpty(txtNonWorkingDate.Text))
            {
                MessageBox.Show("Enter a Non-Working Date");
                bool setcursorto = txtNonWorkingDate.Focus();
                return;
            }

            // Return the id from the NonWorkingDayController.SaveNonWorkingDay method,
            // passing in the object nonWorkingDay and storing the returned id in the nonWorkingDay.Id
            // field.
            nonWorkingDay = NonWorkingDayController.GetNonWorkingDay(txtWarehouseCode.Text, Convert.ToDateTime(txtNonWorkingDate.Text));

            if (nonWorkingDay == null)
            {
                MessageBox.Show("non-Working Date doesn't exist");
                return;
            }
            else
            {
                nonWorkingDay.WarehouseCode  = txtWarehouseCode.Text;
                nwd2bindingSource.DataSource = nonWorkingDay;
            }
        }
        /// <summary>
        /// Saves the non working day.
        /// </summary>
        /// <param name="nonWorkingDay">The non working day.</param>
        /// <returns></returns>
        public static int SaveNonWorkingDay(NonWorkingDay nonWorkingDay)
        {
            try
            {
                if (nonWorkingDay.IsValid)
                {
                    // Save entity
                    nonWorkingDay.Id = DataAccessProvider.Instance().SaveNonWorkingDay(
                        nonWorkingDay.Id,
                        nonWorkingDay.NonWorkingDate,
                        nonWorkingDay.Description,
                        nonWorkingDay.WarehouseId,
                        nonWorkingDay.UpdatedBy,
                        nonWorkingDay.CheckSum);
                }
                else
                {
                    // Entity is not valid
                    throw new InValidBusinessObjectException(nonWorkingDay);
                }
            }
            catch (Exception ex)
            {
                if (ExceptionPolicy.HandleException(ex, "Business Logic"))
                {
                    throw;
                }
            }

            // Done
            return(nonWorkingDay.Id);
        }
 /// <summary>
 /// Fully populates the warehouse code
 /// </summary>
 /// <param name="nonWorkingDay">The warehousecode.</param>
 /// <param name="dataReader">The data reader.</param>
 /// <param name="fullyPopulate">if set to <c>true</c> [fullyPopulate].</param>
 private static void FullyPopulate(NonWorkingDay nonWorkingDay, IDataReader dataReader, bool fullyPopulate)
 {
     if (fullyPopulate && nonWorkingDay != null)
     {
         Warehouse warehouse = WarehouseController.GetWarehouse(nonWorkingDay.WarehouseId);
         nonWorkingDay.WarehouseCode = warehouse.Code;
     }
 }
Beispiel #4
0
 public void SaveItem()
 {
     using (TransactionScope ts = new TransactionScope())
     {
         NonWorkingDay nonWorkingDay = PopulateNewItem();
         int           Id            = SaveItem(nonWorkingDay);
         Assert.IsTrue(Id != -1);
     }
 }
Beispiel #5
0
 public void SaveNonWorkingDayTestConstraint()
 {
     using (TransactionScope ts = new TransactionScope())
     {
         NonWorkingDay nonWorkingDay = PopulateNewItem();
         SaveItem(nonWorkingDay);
         SaveItem(nonWorkingDay);
     }
 }
Beispiel #6
0
 public static NonWorkingDayViewModel ToModel(this NonWorkingDay model)
 {
     return(new NonWorkingDayViewModel
     {
         Id = model.Id,
         AcademyProgramId = model.AcademyProgramId,
         EventTypeId = model.EventTypeId,
         EventName = Enum.GetName(typeof(EventType), (int)model.EventTypeId),
         EventDate = model.EventDate
     });
 }
Beispiel #7
0
 public void DeleteItem()
 {
     using (TransactionScope ts = new TransactionScope())
     {
         NonWorkingDay nonWorkingDay = PopulateNewItem();
         nonWorkingDay.Id = SaveItem(nonWorkingDay);
         if (nonWorkingDay.Id != -1)
         {
             Assert.IsTrue(DeleteItem(nonWorkingDay));
         }
     }
 }
Beispiel #8
0
        // Form frmNWD Constructor
        public frmNWD()
        {
            InitializeComponent();

            // Create an instance of the NonWorkingDay class

            nonWorkingDay = new NonWorkingDay();

            // Binding the form fields to the object nonWorkingDay

            nonWorkingDayBindingSource.DataSource = nonWorkingDay;
        }
Beispiel #9
0
        public void CalculateDeliveryDateWithWeekend()
        {
            using (TransactionScope scope = new TransactionScope())
            {
                //set-up two warehouses
                TDCShipment tdcShipment = new TDCShipment();

                Warehouse stockWarehouse = WarehouseTests.PopulateNewItem();
                WarehouseTests.SaveItem(stockWarehouse);
                tdcShipment.StockWarehouseCode = stockWarehouse.Code;

                Warehouse deliveryWarehouse = WarehouseTests.PopulateNewItem();
                WarehouseTests.SaveItem(deliveryWarehouse);
                tdcShipment.DeliveryWarehouseCode = deliveryWarehouse.Code;



                //set-up non working days
                //saturday
                NonWorkingDay nonWorkingDay = new NonWorkingDay();
                nonWorkingDay.NonWorkingDate = new DateTime(2006, 07, 29);
                nonWorkingDay.Description    = "sat";
                nonWorkingDay.UpdatedBy      = "me";
                nonWorkingDay.WarehouseId    = tdcShipment.DeliveryWarehouse.Id;
                NonWorkingDayController.SaveNonWorkingDay(nonWorkingDay);

                //sunday
                nonWorkingDay = new NonWorkingDay();
                nonWorkingDay.NonWorkingDate = new DateTime(2006, 07, 30);
                nonWorkingDay.Description    = "sun";
                nonWorkingDay.UpdatedBy      = "me";
                nonWorkingDay.WarehouseId    = tdcShipment.DeliveryWarehouse.Id;
                NonWorkingDayController.SaveNonWorkingDay(nonWorkingDay);

                //set-up trunker days
                TrunkerDay trunkerDay = new TrunkerDay();
                trunkerDay.Days = 3;
                trunkerDay.SourceWarehouseId      = tdcShipment.StockWarehouse.Id;
                trunkerDay.DestinationWarehouseId = tdcShipment.DeliveryWarehouse.Id;
                trunkerDay.UpdatedBy = "me";
                trunkerDay.Id        = TrunkerDaysController.SaveTrunkerDay(trunkerDay);


                tdcShipment.RequiredShipmentDate  = new DateTime(2006, 07, 26);
                tdcShipment.OpCoCode              = "HSP";
                tdcShipment.StockWarehouseCode    = tdcShipment.StockWarehouse.Code;
                tdcShipment.DeliveryWarehouseCode = tdcShipment.DeliveryWarehouse.Code;
                tdcShipment.CalculateDeliveryDate();

                Assert.IsTrue(tdcShipment.EstimatedDeliveryDate == new DateTime(2006, 07, 31));
            }
        }
Beispiel #10
0
        public void GetItemLinkedToWarehouse()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                NonWorkingDay nonWorkingDay = PopulateNewItem();
                nonWorkingDay.Id = SaveItem(nonWorkingDay);

                if (nonWorkingDay.Id != -1)
                {
                    Assert.IsNotNull(GetItemLinkedToWarehouse(nonWorkingDay.WarehouseCode, nonWorkingDay.NonWorkingDate));
                }
            }
        }
Beispiel #11
0
        public void GetItem()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                NonWorkingDay nonWorkingDay = PopulateNewItem();
                int           Id            = SaveItem(nonWorkingDay);

                if (Id != -1)
                {
                    Assert.IsNotNull(GetItem(Id));
                }
            }
        }
Beispiel #12
0
        public void SaveItemsAllRegionsAllWarehousesWeekend()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                NonWorkingDay nonWorkingDay = PopulateNewItem();
                int           regionId      = -1;
                int           warehouseId   = -1;
                bool          weekendOnly   = true;

                int Id = SaveItemsWithinRange(nonWorkingDay, regionId, warehouseId, weekendOnly);
                Assert.IsTrue(Id != 0);
            }
        }
Beispiel #13
0
        public void TestGetItemsByWarehouse()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                NonWorkingDay nonWorkingDay = PopulateNewItem();
                nonWorkingDay.Id = SaveItem(nonWorkingDay);

                if (nonWorkingDay.Id != -1)
                {
                    Assert.IsNotNull(GetItemsByWarehouse(nonWorkingDay.WarehouseId));
                }
            }
        }
Beispiel #14
0
        internal int SaveItemsWithinRange(NonWorkingDay nonWorkingDay, int linkRegionId, int linkWarehouseId, bool linkWeekendOnly)
        {
            DateTime startDate   = DateTime.Today;
            DateTime endDate     = DateTime.Today.AddDays(10);
            string   description = " ";

            return(NonWorkingDayController.SaveNonWorkingDays(startDate,
                                                              endDate,
                                                              description,
                                                              linkRegionId,
                                                              linkWarehouseId,
                                                              linkWeekendOnly,
                                                              nonWorkingDay.UpdatedBy));
        }
Beispiel #15
0
        public void SaveItemsOneRegionOneWarehouseWeekend()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                NonWorkingDay nonWorkingDay = PopulateNewItem();
                Warehouse     warehouse     = WarehouseController.GetWarehouse(nonWorkingDay.WarehouseId);

                int  regionId    = warehouse.RegionId;
                bool weekendOnly = true;

                int Id = SaveItemsWithinRange(nonWorkingDay, regionId, nonWorkingDay.WarehouseId, weekendOnly);
                Assert.IsTrue(Id != 0);
            }
        }
Beispiel #16
0
        public void TestGetItemsByRegion()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                NonWorkingDay nonWorkingDay = PopulateNewItem();
                nonWorkingDay.Id = SaveItem(nonWorkingDay);

                if (nonWorkingDay.Id != -1)
                {
                    Warehouse warehouse = WarehouseController.GetWarehouse(nonWorkingDay.WarehouseId);
                    Assert.IsNotNull(GetItemsByRegion(warehouse.RegionId));
                }
            }
        }
Beispiel #17
0
        /// <summary>
        /// Populates the new item.
        /// </summary>
        /// <returns></returns>
        internal NonWorkingDay PopulateNewItem()
        {
            NonWorkingDay nonWorkingDay = new NonWorkingDay();

            nonWorkingDay.NonWorkingDate = DateTime.Today;
            nonWorkingDay.Description    = DateTime.Today.DayOfWeek.ToString();
            nonWorkingDay.UpdatedDate    = DateTime.Today;
            nonWorkingDay.UpdatedBy      = "TDC Team";

            Warehouse warehouse = WarehouseTests.PopulateNewItem();

            nonWorkingDay.WarehouseCode = warehouse.Code;
            nonWorkingDay.WarehouseId   = WarehouseController.SaveWarehouse(warehouse);

            return(nonWorkingDay);
        }
Beispiel #18
0
        public void TestUpdateNonWorkingDay()
        {
            using (TransactionScope scope = new TransactionScope())
            {
                NonWorkingDay nonWorkingDay = PopulateNewItem();
                nonWorkingDay.Description = nonWorkingDay.NonWorkingDate.DayOfWeek.ToString();
                nonWorkingDay.Id          = SaveItem(nonWorkingDay);
                nonWorkingDay             = GetItem(nonWorkingDay.Id);
                //change a value
                nonWorkingDay.Description = "Updated";

                SaveItem(nonWorkingDay);
                nonWorkingDay = GetItem(nonWorkingDay.Id);
                Assert.IsTrue(nonWorkingDay.Description == "Updated");
            }
        }
Beispiel #19
0
 //[ExpectedException(typeof (ConcurrencyException))]
 public void UpdateNonWorkingDayConcurrencyTest()
 {
     using (TransactionScope ts = new TransactionScope())
     {
         NonWorkingDay nonWorkingDay = PopulateNewItem();
         nonWorkingDay.Id = SaveItem(nonWorkingDay);
         //We didn't get the new checksum so when we save again an exception should be thrown
         try
         {
             SaveItem(nonWorkingDay);
         }
         catch (DiscoveryException e)
         {
             Assert.IsInstanceOfType(typeof(ConcurrencyException), e.InnerException);
             throw e;
         }
     }
 }
        // -----------------------------------------------------------------------------
        // Perform the deletion of a non-working day row in Dicovery_NonWorkingday table
        // by passing a NonWorkingDay ID
        // -----------------------------------------------------------------------------

        /// <summary>
        /// Perform the deletion of a non-working day row in Dicovery_NonWorkingday table
        /// by passing a NonWorkingDay ID
        /// </summary>
        /// <param name="nonWorkingDay">The non working day.</param>
        /// <returns></returns>
        public static bool DeleteNonWorkingDay(NonWorkingDay nonWorkingDay)
        {
            bool success = false;

            try
            {
                if (nonWorkingDay != null)
                {
                    success = DataAccessProvider.Instance().DeleteNonWorkingDay(nonWorkingDay.Id);
                }
            }
            catch (Exception ex)
            {
                if (ExceptionPolicy.HandleException(ex, "Business Logic"))
                {
                    throw;
                }
            }
            return(success);
        }
Beispiel #21
0
        public void TestNextWorkingDate()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                NonWorkingDay nonWorkingDay = PopulateNewItem();
                int           Id1           = SaveItem(nonWorkingDay);

                DateTime returnDate = nonWorkingDay.NonWorkingDate.AddDays(1);
                nonWorkingDay.NonWorkingDate = returnDate;
                nonWorkingDay.Description    = returnDate.DayOfWeek.ToString();
                nonWorkingDay.Id             = -1;
                int Id2 = SaveItem(nonWorkingDay);

                List <NonWorkingDay> nonWorkingDayList = GetAllNonWorkingDays();

                returnDate = GetNextWorkingDate(DateTime.Today, nonWorkingDayList);

                Assert.IsNotNull(returnDate == DateTime.Today);
            }
        }
Beispiel #22
0
 /// <summary>
 /// Saves the item.
 /// </summary>
 /// <param name="nonWorkingDay">The non working day.</param>
 /// <returns></returns>
 internal int SaveItem(NonWorkingDay nonWorkingDay)
 {
     return(NonWorkingDayController.SaveNonWorkingDay(nonWorkingDay));
 }
 /// <summary>
 /// Fully populates the warehouse code
 /// </summary>
 /// <param name="nonWorkingDay">The warehousecode.</param>
 /// <param name="dataReader">The data reader.</param>
 /// <param name="fullyPopulate">if set to <c>true</c> [fullyPopulate].</param>
 private static void PopulateWarehouseCode(NonWorkingDay nonWorkingDay, IDataReader dataReader, bool fullyPopulate)
 {
     nonWorkingDay.WarehouseCode = dataReader["WarehouseCode"].ToString();
 }
Beispiel #24
0
 /// <summary>
 /// Deletes the item.
 /// </summary>
 /// <param name="nonWorkingDay">The non working day.</param>
 /// <returns></returns>
 internal bool DeleteItem(NonWorkingDay nonWorkingDay)
 {
     return(NonWorkingDayController.DeleteNonWorkingDay(nonWorkingDay));
 }