コード例 #1
0
        protected override void SaveDetail(bool isUpdate = false)
        {
            var currnModel = CurrentModel as FranchiseDropPointModel;
            var details    = GridShipment.DataSource as List <FranchiseDropPointPickup>;
            var manager    = new FranchiseDropPointDetailDataManager();
            var smanager   = new ShipmentDataManager();

            foreach (FranchiseDropPointPickup detail in details)
            {
                var pickupDetail = new FranchiseDropPointDetailModel();
                var shipment     = new ShipmentModel();
                var status       = new ShipmentStatusModel();

                pickupDetail.Rowstatus            = true;
                pickupDetail.Rowversion           = DateTime.Now;
                pickupDetail.FranchiseDropPointId = CurrentModel.Id;
                pickupDetail.ShipmentId           = detail.Id;
                pickupDetail.Createdby            = BaseControl.UserLogin;
                pickupDetail.Createddate          = DateTime.Now;

                manager.Save <FranchiseDropPointDetailModel>(pickupDetail);
                shipment = smanager.GetFirst <ShipmentModel>(WhereTerm.Default(detail.Id, "id"));
                if (shipment != null)
                {
                    shipment.PODStatus        = (int)EnumPodStatus.None;
                    shipment.FranchiseId      = BaseControl.FranchiseId;
                    shipment.TrackingStatusId = (int)EnumTrackingStatus.AgentPickup;
                    shipment.ModifiedPc       = Environment.MachineName;
                    shipment.Modifiedby       = BaseControl.UserLogin;
                    shipment.Modifieddate     = DateTime.Now;

                    smanager.Update <ShipmentModel>(shipment);

                    new FranchiseCommissionDataManager().CalculateCommission(shipment, BaseControl.FranchiseId, BaseControl.UserLogin);

                    var statusCurr = new ShipmentStatusDataManager().GetFirst <ShipmentStatusModel>(new IListParameter[]
                    {
                        WhereTerm.Default(detail.Id, "shipment_id"),
                        WhereTerm.Default((int)EnumTrackingStatus.AgentPickup, "tracking_status_id")
                    }
                                                                                                    );

                    if (statusCurr == null)
                    {
                        status.Rowstatus        = true;
                        status.Rowversion       = DateTime.Now;
                        status.DateProcess      = DateTime.Now;
                        status.ShipmentId       = detail.Id;
                        status.TrackingStatusId = (int)EnumTrackingStatus.AgentPickup;
                        status.PositionStatusId = BaseControl.BranchId;
                        status.PositionStatus   = EnumPositionStatus.Agent.ToString();
                        status.BranchId         = BaseControl.BranchId;
                        status.StatusBy         = BaseControl.UserLogin;
                        status.Reference        = currnModel.Code;
                        status.Createdby        = BaseControl.UserLogin;
                        status.Createddate      = DateTime.Now;

                        new ShipmentStatusDataManager().Save <ShipmentStatusModel>(status);
                    }
                }
            }
        }
コード例 #2
0
ファイル: BaseForm.cs プロジェクト: 21express/sisco
        protected void ShipmentStatusUpdate()
        {
            var dataManager = new ShipmentStatusDataManager();

            PodStatusModel.Rowstatus   = true;
            PodStatusModel.Rowversion  = DateTime.Now;
            PodStatusModel.DateProcess = DateTime.Now;
            PodStatusModel.BranchId    = BaseControl.BranchId;
            if (PodStatusModel.TrackingStatusId != (int)EnumTrackingStatus.Delivery)
            {
                PodStatusModel.StatusBy = (PodStatusModel.TrackingStatusId != (int)EnumTrackingStatus.Received) ? BaseControl.UserLogin : PodStatusModel.StatusBy;
            }

            PodStatusModel.Createddate = DateTime.Now;
            PodStatusModel.Createdby   = BaseControl.UserLogin;

            var shipmentStatus = new ShipmentStatusDataManager().GetFirst <ShipmentStatusModel>(new IListParameter[]
            {
                WhereTerm.Default(BaseControl.BranchId, "branch_id", EnumSqlOperator.Equals),
                WhereTerm.Default(PodStatusModel.ShipmentId, "shipment_id", EnumSqlOperator.Equals),
                WhereTerm.Default(PodStatusModel.TrackingStatusId, "tracking_status_id", EnumSqlOperator.Equals)
            });

            if (InsertTracking && shipmentStatus == null)
            {
                switch (FormTrackingStatus)
                {
                case EnumTrackingStatus.Acceptance:
                    PodStatusModel.TrackingStatusId = (int)EnumTrackingStatus.Pickup;
                    dataManager.Save <ShipmentStatusModel>(PodStatusModel);

                    PodStatusModel.TrackingStatusId = (int)EnumTrackingStatus.Acceptance;
                    PodStatusModel.StatusBy         = BaseControl.UserLogin;
                    dataManager.Save <ShipmentStatusModel>(PodStatusModel);
                    break;

                default:
                    PodStatusModel.TrackingStatusId = (int)FormTrackingStatus;
                    dataManager.Save <ShipmentStatusModel>(PodStatusModel);
                    break;
                }
            }
            else
            {
                if (shipmentStatus != null)
                {
                    shipmentStatus.DateProcess        = PodStatusModel.DateProcess;
                    shipmentStatus.BranchId           = PodStatusModel.BranchId;
                    shipmentStatus.StatusBy           = PodStatusModel.StatusBy;
                    shipmentStatus.StatusNote         = PodStatusModel.StatusNote;
                    shipmentStatus.Reference          = PodStatusModel.Reference;
                    shipmentStatus.MissDeliveryReason = PodStatusModel.MissDeliveryReason;
                    shipmentStatus.EmployeeId         = PodStatusModel.EmployeeId;
                    shipmentStatus.Modifiedby         = BaseControl.UserLogin;
                    shipmentStatus.Modifieddate       = DateTime.Now;
                    shipmentStatus.ShipmentId         = PodStatusModel.ShipmentId;
                    shipmentStatus.PositionStatusId   = PodStatusModel.BranchId;
                    shipmentStatus.PositionStatus     = PodStatusModel.PositionStatus;

                    new ShipmentStatusDataManager().Update <ShipmentStatusModel>(shipmentStatus);
                }
            }
        }