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); } } } }
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); } } }