Ejemplo n.º 1
0
        public static void Delete(string deliveryNo, DateTime date)
        {
            List <Shipment> shipments = service.GetDelivery(AuthenticationHelper.CompanyId.Value, SessionHelper.SOBId, deliveryNo, date).ToList();
            List <long>     orderIds  = shipments.Select(rec => rec.OrderId).ToList();

            List <Shipment> lotsShipments = shipments.Where(rec => rec.LotNoId > 0 && !string.IsNullOrEmpty(rec.SerialNo)).ToList();

            List <long> lotstobeDeleted = shipments.Where(rec => rec.LotNoId > 0).Select(cri => cri.LotNoId.Value).ToList();

            deleteLots(lotstobeDeleted);

            if (lotsShipments != null && lotsShipments.Count() > 0)
            {
                foreach (var lotNoShipment in lotsShipments)
                {
                    List <string> serials = lotNoShipment.SerialNo.Split(new char[] { ',' }).ToList();
                    deleteSerials(serials, lotNoShipment.LotNoId.Value);
                }
            }

            service.DeleteDelivery(AuthenticationHelper.CompanyId.Value, SessionHelper.SOBId, deliveryNo, date);

            updateOrders(orderIds);
        }