Пример #1
0
        private void SetCatalogData()
        {
            List <IDataIdentifier> ids = null;

            try
            {
                IDataFilter filter = SearchConditionSelector1.DataFilter;
                foreach (DataFilterParameter parameter in filter.Parameters)
                {
                    filter.SetCondition(SearchConditionSelector1[parameter.Name]);
                }
                ids = GINProcessBLL.SearchGINProcess(filter);
            }
            catch
            {
                ids = new List <IDataIdentifier>();
            }

            string buffer = string.Empty;

            foreach (IDataIdentifier identifier in ids)
            {
                buffer += identifier.Preview.DocumentElement.InnerXml;
            }
            string ginProcessSet = "<?xml version=\"1.0\" encoding=\"utf-8\"?> <Catalog>" + buffer + "</Catalog>";

            xdsGINProcessSource.Data = ginProcessSet;
            gvPickupNotice.DataBind();
        }
Пример #2
0
        public System.Data.SqlClient.SqlTransaction GINApproved(Guid truckId)
        {
            IGINProcess    originalGIN = new GINProcessBLL(currentGINProcess.GINProcessInformation.TransactionId);
            SqlTransaction transaction = currentGINProcess.GINApproved(truckId);

            var ginChanges = (from oGIN in originalGIN.GINProcessInformation.Trucks
                              join cGIN in currentGINProcess.GINProcessInformation.Trucks
                              on oGIN.TruckId equals cGIN.TruckId
                              where oGIN.TruckId == truckId
                              select new object[] { oGIN, cGIN, AuditTrailWrapper.ExistingRecord });

            try
            {
                AuditTrailWrapper atw = new AuditTrailWrapper(AuditTrailWrapper.GINApproval, "GIN Process");
                atw.AddChange(ginChanges.ToArray());

                if (!atw.Save())
                {
                    transaction.Rollback();
                    throw new Exception("Failed to save audit trail!");
                }
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            return(transaction);
        }
Пример #3
0
        public System.Data.SqlClient.SqlTransaction SaveTruckRegistration()
        {
            IGINProcess    originalGIN = new GINProcessBLL(currentGINProcess.GINProcessInformation.TransactionId);
            SqlTransaction transaction = currentGINProcess.SaveTruckRegistration();
            //ConfirmNoConcurrency(Trucks, Loads, Weight)
            //newly added trucks
            var newTrucks = (from cTruck in currentGINProcess.GINProcessInformation.Trucks
                             where !(from oTruck in originalGIN.GINProcessInformation.Trucks select oTruck.TruckId).Contains(cTruck.TruckId)
                             select new object[] { null, cTruck, AuditTrailWrapper.NewRecord });
            //existing trucks
            var existingTrucks = (from cTruck in currentGINProcess.GINProcessInformation.Trucks
                                  join oTruck in originalGIN.GINProcessInformation.Trucks on cTruck.TruckId equals oTruck.TruckId
                                  select new object[] { oTruck, cTruck, AuditTrailWrapper.ExistingRecord });
            //deleted trucks
            var deletedTrucks = (from oTruck in originalGIN.GINProcessInformation.Trucks
                                 where !(from cTruck in currentGINProcess.GINProcessInformation.Trucks select cTruck.TruckId).Contains(oTruck.TruckId)
                                 select oTruck);

            try
            {
                AuditTrailWrapper atw = new AuditTrailWrapper(AuditTrailWrapper.TruckRegistration, newTrucks.ToArray(), "PUN Process");
                atw.AddChange(existingTrucks.ToArray());
                if (!atw.Save())
                {
                    transaction.Rollback();
                    throw new Exception("Failed to save audit trail!");
                }
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            return(transaction);
        }
Пример #4
0
        public System.Data.SqlClient.SqlTransaction SaveGIN(Guid truckId, System.Data.SqlClient.SqlTransaction transaction)
        {
            IGINProcess originalGIN = new GINProcessBLL(currentGINProcess.GINProcessInformation.TransactionId);

            currentGINProcess.SaveGIN(truckId, transaction);
            //ConfirmNoConcurrency(GIN)
            var ginChanges = (from oGIN in originalGIN.GINProcessInformation.Trucks
                              join cGIN in currentGINProcess.GINProcessInformation.Trucks
                              on oGIN.TruckId equals cGIN.TruckId
                              where oGIN.TruckId == truckId
                              select new object[] { oGIN, cGIN, AuditTrailWrapper.ExistingRecord });

            try
            {
                AuditTrailWrapper atw = new AuditTrailWrapper(AuditTrailWrapper.TruckLoading, ginChanges.ToArray(), "GIN Process");


                if (!atw.Save())
                {
                    transaction.Rollback();
                    throw new Exception("Failed to save audit trail!");
                }
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            return(transaction);
        }
Пример #5
0
        public System.Data.SqlClient.SqlTransaction SaveTruck(GINTruckInfo truck, System.Data.SqlClient.SqlTransaction transaction)
        {
            IGINProcess originalGIN = new GINProcessBLL(currentGINProcess.GINProcessInformation.TransactionId);

            currentGINProcess.SaveTruck(truck, transaction);
            //ConfirmNoConcurrency(Truck, Load, Weight)
            var truckChanges = (from oTruck in originalGIN.GINProcessInformation.Trucks
                                where oTruck.TruckId == truck.TruckId
                                select new object[] { oTruck, truck, AuditTrailWrapper.ExistingRecord });

            try
            {
                AuditTrailWrapper atw = new AuditTrailWrapper(AuditTrailWrapper.TruckRegistration, truckChanges.ToArray(), "GIN Process");
                if (!atw.Save())
                {
                    transaction.Rollback();
                    throw new Exception("Failed to save audit trail!");
                }
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            return(transaction);
        }
Пример #6
0
 protected void Page_Load(object sender, EventArgs e)
 {
     ginLookup = GINProcessBLL.StaticLookupSource;
     SearchConditionSelector1.LookupSource = ginLookup;
     if (!IsPostBack)
     {
         SearchConditionSelector1.DataFilter = GINProcessBLL.GetCatalogFilter("CompleteFilterSet");
     }
     SetCatalogData();
 }
Пример #7
0
        public System.Data.SqlClient.SqlTransaction SaveScaling(Guid truckId)
        {
            IGINProcess    originalGIN = new GINProcessBLL(currentGINProcess.GINProcessInformation.TransactionId);
            SqlTransaction transaction = currentGINProcess.SaveScaling(truckId);
            //ConfirmNoConcurrency(Truck)
            var truckChanges = (from oTruck in originalGIN.GINProcessInformation.Trucks
                                join cTruck in currentGINProcess.GINProcessInformation.Trucks
                                on oTruck.TruckId equals cTruck.TruckId
                                where oTruck.TruckId == truckId
                                select new object[] { oTruck, cTruck, AuditTrailWrapper.ExistingRecord });
            GINTruckInfo origTruck = (GINTruckInfo)truckChanges.Single()[0];
            GINTruckInfo currTruck = (GINTruckInfo)truckChanges.Single()[1];

            try
            {
                AuditTrailWrapper atw = new AuditTrailWrapper(AuditTrailWrapper.TruckWeighing, truckChanges.ToArray(), "GIN Process");
                atw.AddChange(origTruck.GIN, currTruck.GIN, AuditTrailWrapper.ExistingRecord);
                atw.AddChange(origTruck.Weight, currTruck.Weight, AuditTrailWrapper.ExistingRecord);
                //newly added returned bags and added bags
                var newRBs = (from cRB in currTruck.Weight.ReturnedBags
                              where !(from oRB in origTruck.Weight.ReturnedBags select oRB.TruckId).Contains(cRB.ReturnedBagsId)
                              select new object[] { null, cRB, AuditTrailWrapper.NewRecord });
                atw.AddChange(newRBs.ToArray());
                //existing returned bags and added bags
                var existingRBs = (from oRB in origTruck.Weight.ReturnedBags
                                   join cRB in currTruck.Weight.ReturnedBags
                                   on oRB.ReturnedBagsId equals cRB.ReturnedBagsId
                                   select new object[] { oRB, cRB, AuditTrailWrapper.ExistingRecord });
                atw.AddChange(existingRBs.ToArray());

                if (!atw.Save())
                {
                    transaction.Rollback();
                    throw new Exception("Failed to save audit trail!");
                }
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            return(transaction);
        }
Пример #8
0
        private void SetCatalogData()
        {
            List <IDataIdentifier> ids = null;

            try
            {
                IDataFilter filter = SearchConditionSelector1.DataFilter;
                foreach (DataFilterParameter parameter in filter.Parameters)
                {
                    if (parameter.Name == "WarehouseId")
                    {
                        filter.SetCondition(
                            new DataFilterCondition(
                                parameter, FilterConditionType.Comparison,
                                string.Empty, ginLookup.GetLookup("CurrentWarehouse")["Id"]));
                    }
                    else
                    {
                        filter.SetCondition(SearchConditionSelector1[parameter.Name]);
                    }
                }
                ids = GINProcessBLL.SearchGIN(filter);
            }
            catch
            {
                ids = new List <IDataIdentifier>();
            }

            string buffer = string.Empty;

            foreach (IDataIdentifier identifier in ids)
            {
                buffer += identifier.Preview.DocumentElement.InnerXml;
            }
            string ginProcessSet = "<?xml version=\"1.0\" encoding=\"utf-8\"?> <Catalog>" + buffer + "</Catalog>";

            xdsGINSource.Data = ginProcessSet;
            gvGIN.DataBind();
        }
Пример #9
0
        public System.Data.SqlClient.SqlTransaction AbortGINProcess()
        {
            IGINProcess    originalGIN = new GINProcessBLL(currentGINProcess.GINProcessInformation.TransactionId);
            SqlTransaction transaction = currentGINProcess.AbortGINProcess();

            try
            {
                AuditTrailWrapper atw = new AuditTrailWrapper(AuditTrailWrapper.GINAbortion, "PUN Process");
                atw.AddChange(originalGIN.GINProcessInformation, currentGINProcess.GINProcessInformation, AuditTrailWrapper.ExistingRecord);

                if (!atw.Save())
                {
                    transaction.Rollback();
                    throw new Exception("Failed to save audit trail!");
                }
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                throw ex;
            }
            return(transaction);
        }
Пример #10
0
        public static void InitiateTask(string msg, string transactionId)
        {
            WorkflowTaskType workflowTask = (WorkflowTaskType)Enum.Parse(typeof(WorkflowTaskType), msg);

            if (workflowTask == WorkflowTaskType.VerifyPUN)
            {
                PageDataTransfer confirmationTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/PickupNoticeAcknowledged.aspx");
                confirmationTransfer.RemoveAllData();
                GINProcessWrapper.RemoveGINProcessInformation();
                confirmationTransfer.TransferData["TransactionId"]    = transactionId;
                confirmationTransfer.TransferData["IsGINTransaction"] = false;
                confirmationTransfer.TransferData["ReturnPage"]       = HttpContext.Current.Request.ApplicationPath + "/ListInbox.aspx";
                confirmationTransfer.Navigate();
            }
            else if (workflowTask == WorkflowTaskType.ConfirmInventory)
            {
                PageDataTransfer confirmationTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/VerifyGINAvailability.aspx");
                confirmationTransfer.RemoveAllData();
                GINProcessWrapper.RemoveGINProcessInformation();
                confirmationTransfer.TransferData["TransactionId"]    = transactionId;
                confirmationTransfer.TransferData["IsGINTransaction"] = false;
                confirmationTransfer.TransferData["ReturnPage"]       = HttpContext.Current.Request.ApplicationPath + "/ListInbox.aspx";
                confirmationTransfer.Navigate();
            }
            else if (workflowTask == WorkflowTaskType.RegisterTrucks)
            {
                PageDataTransfer confirmationTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/TruckRegistration.aspx");
                confirmationTransfer.RemoveAllData();
                GINProcessWrapper.RemoveGINProcessInformation();
                confirmationTransfer.TransferData["TransactionId"]    = transactionId;
                confirmationTransfer.TransferData["IsGINTransaction"] = false;
                confirmationTransfer.TransferData["ReturnPage"]       = HttpContext.Current.Request.ApplicationPath + "/ListInbox.aspx";
                confirmationTransfer.Navigate();
            }
            else if (workflowTask == WorkflowTaskType.ApproveGINEditingRequest)
            {
                PageDataTransfer agerTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/ApproveGINEditRequest.aspx");
                agerTransfer.RemoveAllData();
                GINEditingRequest ger = GINProcessBLL.GetGINEditingRequest(transactionId);
                agerTransfer.TransferData["GINEditingRequest"] = ger;
                agerTransfer.TransferData["TransactionId"]     = ger.OldTransactionId;
                agerTransfer.TransferData["IsGINTransaction"]  = true;
                agerTransfer.TransferData["WorkflowTask"]      = workflowTask;
                agerTransfer.TransferData["ReturnPage"]        = HttpContext.Current.Request.ApplicationPath + "/ListInbox.aspx";
                agerTransfer.Navigate();
            }
            else if ((workflowTask == WorkflowTaskType.GINPreWeighTruck) ||
                     (workflowTask == WorkflowTaskType.LoadTruck) ||
                     (workflowTask == WorkflowTaskType.GINPostWeighTruck) ||
                     (workflowTask == WorkflowTaskType.GenerateGIN) ||
                     (workflowTask == WorkflowTaskType.RecordClientResponse) ||
                     (workflowTask == WorkflowTaskType.ApproveGIN) ||
                     (workflowTask == WorkflowTaskType.LeftCompound))
            {
                PageDataTransfer loadDataTransfer = null;
                switch (workflowTask)
                {
                case WorkflowTaskType.GINPreWeighTruck:
                    loadDataTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/TruckLoading.aspx");
                    break;

                case WorkflowTaskType.LoadTruck:
                    loadDataTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/TruckLoading.aspx");
                    break;

                case WorkflowTaskType.GINPostWeighTruck:
                    loadDataTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/TruckScaling.aspx");
                    break;

                case WorkflowTaskType.GenerateGIN:
                    loadDataTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/TruckScaling.aspx");
                    break;

                case WorkflowTaskType.RecordClientResponse:
                    loadDataTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/ClientAcknowledgeGIN.aspx");
                    break;

                case WorkflowTaskType.ApproveGIN:
                    loadDataTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/ApproveGIN.aspx");
                    break;

                case WorkflowTaskType.LeftCompound:
                    loadDataTransfer = new PageDataTransfer(HttpContext.Current.Request.ApplicationPath + "/TruckLeftCompound.aspx");
                    break;
                }
                loadDataTransfer.RemoveAllData();
                GINProcessWrapper.RemoveGINProcessInformation();
                loadDataTransfer.TransferData["TransactionId"]    = transactionId;
                loadDataTransfer.TransferData["IsGINTransaction"] = true;
                loadDataTransfer.TransferData["WorkflowTask"]     = workflowTask;
                loadDataTransfer.TransferData["ReturnPage"]       = HttpContext.Current.Request.ApplicationPath + "/ListInbox.aspx";
                loadDataTransfer.Navigate();
            }
        }