//для печати документов заказов из МЛ, если есть при печати требуется их печать void PrintOrderDocumentsFromTheRouteList(RouteList routeList, IList <OrderDocumentType> orderDocumentTypes) { var orders = routeList.Addresses .Where(a => a.Status != RouteListItemStatus.Transfered) .Select(a => a.Order) ; foreach (var o in orders) { var orderPrinter = new EntitiyDocumentsPrinter( o, true, //При массовой печати документов заказов из МЛ, в случае наличия у клиента признака UseSpecialDocFields, не будут печататься обычные счета и УПД orderDocumentTypes.Where(t => !o.Client.UseSpecialDocFields || t != OrderDocumentType.UPD && t != OrderDocumentType.Bill).ToList() ); orderPrinter.PrintingCanceled += (sender, e) => { cancelPrinting = true; PrintingCanceled?.Invoke(sender, e); }; ODTTemplateNotFoundMessages = string.Concat(orderPrinter.ODTTemplateNotFoundMessages); orderPrinter.Print(); if (cancelPrinting) { return; } } }
public IList <GoodsInRouteListResult> GetEquipmentsInRL(IUnitOfWork uow, RouteList routeList) { GoodsInRouteListResult resultAlias = null; Vodovoz.Domain.Orders.Order orderAlias = null; OrderEquipment orderEquipmentAlias = null; Nomenclature OrderEquipmentNomenclatureAlias = null; //Выбирается список Id заказов находящихся в МЛ var ordersQuery = QueryOver.Of <Vodovoz.Domain.Orders.Order>(() => orderAlias); var routeListItemsSubQuery = QueryOver.Of <RouteListItem>() .Where(r => r.RouteList.Id == routeList.Id) .Where(r => !r.WasTransfered || (r.WasTransfered && r.NeedToReload)) .Select(r => r.Order.Id); ordersQuery.WithSubquery.WhereProperty(o => o.Id).In(routeListItemsSubQuery).Select(o => o.Id); var orderEquipmentsQuery = uow.Session.QueryOver <OrderEquipment>(() => orderEquipmentAlias) .WithSubquery.WhereProperty(i => i.Order.Id).In(ordersQuery) .Where(() => orderEquipmentAlias.Direction == Direction.Deliver) .JoinAlias(() => orderEquipmentAlias.Nomenclature, () => OrderEquipmentNomenclatureAlias); return(orderEquipmentsQuery .SelectList(list => list .SelectGroup(() => OrderEquipmentNomenclatureAlias.Id).WithAlias(() => resultAlias.NomenclatureId) .Select(Projections.Sum( Projections.Cast(NHibernateUtil.Decimal, Projections.Property(() => orderEquipmentAlias.Count)))).WithAlias(() => resultAlias.Amount) ) .TransformUsing(Transformers.AliasToBean <GoodsInRouteListResult>()) .List <GoodsInRouteListResult>()); }
public bool RouteListWasChanged(RouteList routeList) { using (var uow = UnitOfWorkFactory.CreateWithoutRoot()) { var actualRouteList = uow.GetById <RouteList>(routeList.Id); return(actualRouteList.Version != routeList.Version); } }
public static GMapRoute DrawRoute(GMapOverlay overlay, RouteList routeList, RouteGeometryCalculator geometryCalc = null) { List <PointLatLng> points; if (geometryCalc != null) { var address = routeList.GenerateHashPiontsOfRoute(); MainClass.progressBarWin.ProgressStart(address.Length); points = geometryCalc.GetGeometryOfRoute(address, (val, max) => MainClass.progressBarWin.ProgressUpdate(val)); MainClass.progressBarWin.ProgressClose(); } else { points = new List <PointLatLng>(); points.Add(DistanceCalculator.BasePoint); points.AddRange(routeList.Addresses.Select(x => x.Order.DeliveryPoint.GmapPoint)); points.Add(DistanceCalculator.BasePoint); } var route = new GMapRoute(points, routeList.Id.ToString()); route.Stroke = new System.Drawing.Pen(System.Drawing.Color.Blue); route.Stroke.Width = 2; route.Stroke.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid; overlay.Routes.Add(route); return(route); }
public void OpenRoutedList(Order order) { if (order.OrderStatus == OrderStatus.NewOrder || order.OrderStatus == OrderStatus.Accepted || order.OrderStatus == OrderStatus.OnLoading ) { tdiNavigation.OpenTdiTab <RouteListCreateDlg>(null); } else if (order.OrderStatus == OrderStatus.OnTheWay || order.OrderStatus == OrderStatus.InTravelList || order.OrderStatus == OrderStatus.Closed ) { RouteList routeList = routedListRepository.GetRouteListByOrder(UoW, order); if (routeList != null) { tdiNavigation.OpenTdiTab <RouteListKeepingDlg, RouteList>(null, routeList); } } else if (order.OrderStatus == OrderStatus.Shipped) { RouteList routeList = routedListRepository.GetRouteListByOrder(UoW, order); if (routeList != null) { tdiNavigation.OpenTdiTab <RouteListClosingDlg, RouteList>(null, routeList); } } }
/// <summary> /// Добавление в спсиок печати документов маршрутного листа <paramref name="routeList"/> с выделением типов, /// указанных в массиве <paramref name="routeListPrintableDocumentTypes"/>, а также добавление в этот спсиок /// документов всех заказов из маршрутного листа <paramref name="routeList"/> с выделением типов, указанных в /// массиве <paramref name="orderDocumentTypes"/>. Если <paramref name="orderDocumentTypes"/> не указывать, то /// печать документов заказов произведена не будет. /// </summary> /// <param name="uow">Unit Of Work</param> /// <param name="routeList">Маршрутный лист</param> /// <param name="routeListPrintableDocumentTypes">Типы документов МЛ, которые необходимо отметить</param> /// <param name="orderDocumentTypes">Типы документов заказа, которые необходимо отметить</param> public EntitiyDocumentsPrinter(IUnitOfWork uow, RouteList routeList, RouteListPrintableDocuments[] routeListPrintableDocumentTypes, IList <OrderDocumentType> orderDocumentTypes = null) { this.uow = uow; currentRouteList = routeList; DocPrinterInit(); //Эти документы не будут добавлены в список печати вообще RouteListPrintableDocuments[] documentsToSkip = { RouteListPrintableDocuments.All, RouteListPrintableDocuments.LoadSofiyskaya, RouteListPrintableDocuments.TimeList, RouteListPrintableDocuments.OrderOfAddresses }; foreach (RouteListPrintableDocuments rlDocType in Enum.GetValues(typeof(RouteListPrintableDocuments))) { if (!documentsToSkip.Contains(rlDocType)) { var rlDoc = new RouteListPrintableDocs(uow, routeList, rlDocType); bool isSelected = routeListPrintableDocumentTypes.Contains(RouteListPrintableDocuments.All) || routeListPrintableDocumentTypes.Contains(rlDocType); SelectablePrintDocument doc = new SelectablePrintDocument(rlDoc) { Selected = isSelected }; DocumentsToPrint.Add(doc); } } if (orderDocumentTypes != null) { PrintOrderDocumentsFromTheRouteList(routeList, orderDocumentTypes); } }
protected void Page_Load(object sender, EventArgs e) { paramsContainer = new ParamsContainer(HttpContext.Current); initialJson.Value = PublicMethods.toJSON(RouteList.get_data_server_side(paramsContainer, RouteName.error)); Page.Title = RaaiVanSettings.SystemTitle(paramsContainer.ApplicationID); }
public async Task <RouteList> FindRoutesByGraphID(int graphID, string town1, string town2, int maxStops) { RouteList routeCities = new RouteList(); if (!town1.Equals(town2)) { Graph graph = await _graphRepository.LoadGraph(graphID); if (graph.Data.Count > 0) { Dictionary <string, List <GraphData> > neighborhoodDictionary = CreateNeighborhoodDictionary(graph); Dictionary <string, bool> visitControlDictionary = CreateVisitControlDictionary(graph); List <GraphData> temporaryPaths = CreateTemporaryPathsList(town1); FindAllPaths(town1, town2, neighborhoodDictionary, temporaryPaths, maxStops, visitControlDictionary, routeCities); } else { routeCities.Routes.Add(new RouteBetweenCities($"{town1}{town2}", 0, 0)); } } else { routeCities.Routes.Add(new RouteBetweenCities(town1, 0, 0)); } return(routeCities); }
public static GMapRoute DrawRoute(GMapOverlay overlay, RouteList routeList, RouteGeometryCalculator geometryCalc = null) { List <PointLatLng> points; var baseLat = (double)routeList.GeographicGroups.FirstOrDefault().BaseLatitude.Value; var baseLon = (double)routeList.GeographicGroups.FirstOrDefault().BaseLongitude.Value; if (geometryCalc != null) { var address = routeList.GenerateHashPointsOfRoute(); StartProgress(address.Length); points = geometryCalc.GetGeometryOfRoute(address, UpdateProgress); CloseProgress(); } else { points = new List <PointLatLng>(); points.Add(new PointLatLng(baseLat, baseLon)); points.AddRange(routeList.Addresses.Select(x => x.Order.DeliveryPoint.GmapPoint)); points.Add(new PointLatLng(baseLat, baseLon)); } var route = new GMapRoute(points, routeList.Id.ToString()) { Stroke = new System.Drawing.Pen(System.Drawing.Color.Blue) { Width = 2, DashStyle = System.Drawing.Drawing2D.DashStyle.Solid } }; overlay.Routes.Add(route); return(route); }
private void LoadDocument(RouteListPrintableDocuments docType) { int rlNumber = GetRouteListNumber(); if (rlNumber == 0) { return; } ReportInfo document = null; using (IUnitOfWork uow = UnitOfWorkFactory.CreateWithoutRoot()) { RouteList rl = uow.GetById <RouteList>(rlNumber); if (rl == null) { MessageDialogHelper.RunErrorDialog($"Маршрутный лист с номером {rlNumber} не найден"); return; } document = PrintRouteListHelper.GetRDL(rl, docType, uow); } if (document == null) { MessageDialogHelper.RunErrorDialog("Не возможно получить печатную форму документа"); return; } if (document.Source != null) { reportViewer.LoadReport(document.Source, document.GetParametersString(), document.ConnectionString, true, document.RestrictedOutputPresentationTypes); } else { reportViewer.LoadReport(document.GetReportUri(), document.GetParametersString(), document.ConnectionString, true, document.RestrictedOutputPresentationTypes); } }
public void TryRemoveAddress_IfAddressIsNotTransfered_ThenTheAddressWillBeDeletedAndMessageWillNotBeGenerated() { //arrange RouteList routeListSourceMock = Substitute.For <RouteList>(); routeListSourceMock.Id.Returns(999); RouteListItem routeListItemRemovingMock = Substitute.For <RouteListItem>(); routeListItemRemovingMock.WasTransfered.Returns(false); routeListItemRemovingMock.Order = Substitute.For <Order>(); IUnitOfWork uow = Substitute.For <IUnitOfWork>(); IRouteListItemRepository routeListItemRepository = Substitute.For <IRouteListItemRepository>(); RouteList routeListUnderTest = new RouteList { UoW = uow }; routeListUnderTest.Addresses.Add(routeListItemRemovingMock); // act routeListUnderTest.TryRemoveAddress(routeListItemRemovingMock, out string msg, routeListItemRepository); // assert Assert.That(routeListUnderTest.Addresses.Count, Is.EqualTo(0)); Assert.That(string.IsNullOrEmpty(msg), Is.True); }
public override void UpdateNodes() { DriverRouteListAddressVMNode resultAlias = null; Employee driverAlias = null; RouteList routeListAlias = null; RouteListItem routeListItemAlias = null; Order orderAlias = null; var query = UoW.Session.QueryOver <RouteListItem>(() => routeListItemAlias); var result = query .JoinAlias(rli => rli.RouteList, () => routeListAlias) .JoinAlias(rli => rli.RouteList.Driver, () => driverAlias) .JoinAlias(rli => rli.Order, () => orderAlias) .Where(() => routeListAlias.Status == RouteListStatus.EnRoute) .Where(() => routeListAlias.Driver.Id == driverId) .SelectList(list => list .Select(() => routeListItemAlias.Id).WithAlias(() => resultAlias.Id) .Select(() => orderAlias.Id).WithAlias(() => resultAlias.OrderId) .Select(() => routeListAlias.Id).WithAlias(() => resultAlias.RouteListNumber) .Select(() => routeListItemAlias.Status).WithAlias(() => resultAlias.Status) .Select(() => orderAlias.DeliverySchedule).WithAlias(() => resultAlias.Time) .Select(() => orderAlias.DeliveryPoint).WithAlias(() => resultAlias.Address) ) .TransformUsing(Transformers.AliasToBean <DriverRouteListAddressVMNode>()) .List <DriverRouteListAddressVMNode>(); SetItemsSource(result); }
public bool NeedMileageCheck_Test(Car car) { RouteList routeList = new RouteList(); routeList.Car = car; return(routeList.NeedMileageCheck); }
/// <summary> /// Метод берет последовательность доставки из предложенного маршрута и переносит его в маршрутный лист. /// Переносится только последовательность адресов. Никакие адреса не добавляются и не удаляются. /// Метод нужен для перестройки с учетов времени уже имеющегося МЛ. /// </summary> public void UpdateAddressOrderInRealRoute(RouteList updatedRoute) { if (updatedRoute.Status > RouteListStatus.InLoading) { throw new InvalidOperationException($"Была выполнена попытка перестроить маршрут {updatedRoute.Id} после того, как он отгружен."); } for (int i = 0; i < updatedRoute.ObservableAddresses.Count; i++) { var address = updatedRoute.ObservableAddresses[i]; if (i < Orders.Count) { if (Orders[i].Order.Id != updatedRoute.ObservableAddresses[i].Order.Id) { address = updatedRoute.ObservableAddresses.First(x => x.Order.Id == Orders[i].Order.Id); updatedRoute.ObservableAddresses.Remove(address); updatedRoute.ObservableAddresses.Insert(i, address); } address.PlanTimeStart = Orders[i].ProposedTimeStart; address.PlanTimeEnd = Orders[i].ProposedTimeEnd; } else { address.PlanTimeStart = null; address.PlanTimeEnd = null; } } }
/// <summary> /// Filter routes by options, does not check "BlockEnabled" option. /// See FilterByBlockEnabled() /// </summary> /// <param name="routeList"></param> /// <param name="sideToLeave"></param> /// <param name="locData"></param> /// <returns></returns> public RouteList FilterByAllowedOptions( RouteList routeList, SideMarker sideToLeave, Locomotives.Data locData) { var res = new RouteList(); foreach (var it in routeList) { var targetBlock = it.Blocks[1]; var targetBlockIdentifier = targetBlock.identifier; if (string.IsNullOrEmpty(targetBlockIdentifier)) { continue; } var targetFbData = GetFeedbackDataOf(targetBlockIdentifier, sideToLeave); if (targetFbData == null) { continue; } // // the most interesting part of this method // if (IsLocAllowedForTargetBlock(locData, targetFbData)) { res.Add(it); } } return(res); }
public void DeleteRoute() { RouteDataAccess.DeleteRoute(SelectedRoute.Id); RouteList.Remove(SelectedRoute); RouteId = 0; NotifyOfPropertyChange(() => RouteList); }
public static void DrawAddressesOfRoute(GMapOverlay overlay, RouteList routeList) { foreach (var orderItem in routeList.Addresses) { var point = orderItem.Order.DeliveryPoint; if (point == null) { continue; } if (point.Latitude.HasValue && point.Longitude.HasValue) { GMapMarker addressMarker = new NumericPointMarker( new PointLatLng( (double)point.Latitude, (double)point.Longitude ), NumericPointMarkerType.white_large, orderItem.IndexInRoute + 1 ); var text = point.ShortAddress; addressMarker.ToolTipText = text; overlay.Markers.Add(addressMarker); } } }
public bool IsUniqueDocumentAtDay(IUnitOfWork UoW, RouteList routeList, Warehouse warehouse, int documentId) { if (documentId != 0) { return(true); } var start = DateTime.Now.Date; var end = DateTime.Now.Date.AddHours(23).AddMinutes(59).AddSeconds(59).AddMilliseconds(59).AddTicks(59); CarUnloadDocument carUnloadDocument = null; var getSimilarCarUnloadDoc = QueryOver.Of <CarUnloadDocument>(() => carUnloadDocument) .Where(() => carUnloadDocument.RouteList.Id == routeList.Id) .And(() => carUnloadDocument.Warehouse.Id == warehouse.Id) .And(() => start <= carUnloadDocument.TimeStamp) .And(() => carUnloadDocument.TimeStamp <= end); IList <CarUnloadDocument> documents = getSimilarCarUnloadDoc.GetExecutableQueryOver(UoW.Session) .List(); if (documents.Count > 0) { return(false); } else { return(true); } }
public RouteListPrintableDocs(IUnitOfWork uow, RouteList routeList, RouteListPrintableDocuments type) { _uow = uow; this.routeList = routeList; _type = type; CopiesToPrint = DefaultCopies; }
//Routes->Schedule public async static Task <List <Routine> > getRoutes() { if (Database.routesLoaded) { return(Database.routeList); } string url = globalURL + "/routes?sort=color&filter[date]=" + getLocalTime(); string response = await DataFetcher.fetchData(url); RouteList raw_data = JsonConvert.DeserializeObject <RouteList>(response); List <string> idList = new List <string>(); List <Routine> routeList = new List <Routine>(); for (int i = 0; i < raw_data.data.Length; i++) { Routine routine = raw_data.data[i]; if (routine.attributes.long_name.Length == 0) { routine.attributes.long_name = routine.attributes.short_name; } routeList.Add(routine); if (!idList.Contains(routine.id)) { idList.Add(routine.id); Database.routeID_NameMap.Add(routine.id, routine.attributes.long_name); Database.routeID_typeMap.Add(routine.id, routine.attributes.type); } } Database.routesLoaded = true; return(routeList); }
public IList <DocumentPrintHistory> GetPrintsHistory(IUnitOfWork uow, RouteList routeList) { var types = new[] { PrintedDocumentType.RouteList, PrintedDocumentType.ClosedRouteList }; return(uow.Session.Query <DocumentPrintHistory>() .Where(dph => types.Contains(dph.DocumentType) && dph.RouteList.Id == routeList.Id).ToList()); }
/// <summary> /// Метод берет последовательность доставки из предложенного маршрута и переносит его в маршрутный лист. /// Переносится только последовательность адресов. Никакие адреса не добавляются и не удаляются. /// Метод нужен для перестройки с учетов времени уже имеющегося МЛ. /// </summary> public void UpdateAddressOrderInRealRoute(RouteList updatedRoute) { if (updatedRoute.Status > RouteListStatus.InLoading) { _interactiveService.ShowMessage(ImportanceLevel.Error, $"Была выполнена попытка перестроить маршрут {updatedRoute.Id} после того, как он отгружен. Проверьте фильтр \"Показать уехавшие\"."); return; } for (int i = 0; i < updatedRoute.ObservableAddresses.Count; i++) { var address = updatedRoute.ObservableAddresses[i]; if (i < Orders.Count) { if (Orders[i].Order.Id != updatedRoute.ObservableAddresses[i].Order.Id) { address = updatedRoute.ObservableAddresses.First(x => x.Order.Id == Orders[i].Order.Id); updatedRoute.ObservableAddresses.Remove(address); updatedRoute.ObservableAddresses.Insert(i, address); } address.PlanTimeStart = Orders[i].ProposedTimeStart; address.PlanTimeEnd = Orders[i].ProposedTimeEnd; } else { address.PlanTimeStart = null; address.PlanTimeEnd = null; } } }
public decimal TerminalTransferedCountToRouteList(IUnitOfWork unitOfWork, RouteList routeList) { if (unitOfWork == null) { throw new ArgumentNullException(nameof(unitOfWork)); } if (routeList == null) { throw new ArgumentNullException(nameof(routeList)); } var termanalTransferDocumentItems = unitOfWork.Session.Query <DriverTerminalTransferDocument>() .Where(dttd => dttd.RouteListTo.Id == routeList.Id || dttd.RouteListFrom.Id == routeList.Id) .ToList(); if (termanalTransferDocumentItems.Any()) { return(termanalTransferDocumentItems.Sum(dttd => dttd.RouteListTo.Id == routeList.Id ? 1 : dttd.RouteListFrom.Id == routeList.Id ? -1 : 0)); } return(0); }
public void ListRequestObject() { moq::Mock <Routes.RoutesClient> mockGrpcClient = new moq::Mock <Routes.RoutesClient>(moq::MockBehavior.Strict); ListRoutesRequest request = new ListRoutesRequest { PageToken = "page_tokenf09e5538", MaxResults = 2806814450U, Filter = "filtere47ac9b2", OrderBy = "order_byb4d33ada", Project = "projectaa6ff846", ReturnPartialSuccess = false, }; RouteList expectedResponse = new RouteList { Id = "id74b70bb8", Kind = "kindf7aa39d9", Warning = new Warning(), NextPageToken = "next_page_tokendbee0940", Items = { new Route(), }, SelfLink = "self_link7e87f12d", }; mockGrpcClient.Setup(x => x.List(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse); RoutesClient client = new RoutesClientImpl(mockGrpcClient.Object, null); RouteList response = client.List(request); xunit::Assert.Same(expectedResponse, response); mockGrpcClient.VerifyAll(); }
public async stt::Task ListAsync() { moq::Mock <Routes.RoutesClient> mockGrpcClient = new moq::Mock <Routes.RoutesClient>(moq::MockBehavior.Strict); ListRoutesRequest request = new ListRoutesRequest { Project = "projectaa6ff846", }; RouteList expectedResponse = new RouteList { Id = "id74b70bb8", Kind = "kindf7aa39d9", Warning = new Warning(), NextPageToken = "next_page_tokendbee0940", Items = { new Route(), }, SelfLink = "self_link7e87f12d", }; mockGrpcClient.Setup(x => x.ListAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <RouteList>(stt::Task.FromResult(expectedResponse), null, null, null, null)); RoutesClient client = new RoutesClientImpl(mockGrpcClient.Object, null); RouteList responseCallSettings = await client.ListAsync(request.Project, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None)); xunit::Assert.Same(expectedResponse, responseCallSettings); RouteList responseCancellationToken = await client.ListAsync(request.Project, st::CancellationToken.None); xunit::Assert.Same(expectedResponse, responseCancellationToken); mockGrpcClient.VerifyAll(); }
public static ReportInfo GetRDL(RouteList routeList, RouteListPrintableDocuments type, IUnitOfWork uow = null, bool batchPrint = false) { switch (type) { case RouteListPrintableDocuments.LoadDocument: return(GetRDLLoadDocument(routeList.Id)); case RouteListPrintableDocuments.LoadSofiyskaya: return(GetRDLLoadSofiyskaya(routeList.Id)); case RouteListPrintableDocuments.RouteList: return(GetRDLRouteList(uow, routeList)); case RouteListPrintableDocuments.RouteMap: return(GetRDLRouteMap(uow, routeList, batchPrint)); case RouteListPrintableDocuments.TimeList: return(GetRDLTimeList(routeList.Id)); case RouteListPrintableDocuments.DailyList: return(GetRDLDailyList(routeList.Id)); case RouteListPrintableDocuments.OrderOfAddresses: return(routeList.OrderOfAddressesRep(routeList.Id)); default: throw new NotImplementedException("Неизвестный тип документа"); } }
protected void Page_Load(object sender, EventArgs e) { paramsContainer = new ParamsContainer(HttpContext.Current); initialJson.Value = PublicMethods.toJSON(RouteList.get_data_server_side(paramsContainer, RouteName.node)); try { Guid?nodeId = PublicMethods.parse_guid(Request.Params["ID"], alternatvieValue: PublicMethods.parse_guid(Request.Params["NodeID"])); if (Request.Url.ToString().ToLower().Contains("_escaped_fragment_=") && nodeId.HasValue) { ParamsContainer paramsContainer = new ParamsContainer(HttpContext.Current); Modules.CoreNetwork.Node _nd = CNController.get_node(paramsContainer.Tenant.Id, nodeId.Value, true); string htmlContent = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" + "<html xmlns=\"http://www.w3.org/1999/xhtml\"><head><title>" + _nd.Name + " - " + RaaiVanSettings.SystemTitle(paramsContainer.Tenant.Id) + "</title></head><body>" + "<div>" + _nd.Name + "</div>" + "<div>" + ProviderUtil.list_to_string <string>(_nd.Tags, ' ') + "</div>" + "<div>" + PublicMethods.shuffle_text(PublicMethods.markup2plaintext(paramsContainer.Tenant.Id, _nd.Description, true)) + "</div>" + "<div>" + PublicMethods.markup2plaintext(paramsContainer.Tenant.Id, Modules.Wiki.WikiController.get_wiki_content(paramsContainer.Tenant.Id, nodeId.Value), true) + "</div>" + "</body></html>"; paramsContainer.return_response(htmlContent); return; } } catch { } }
public void UpdateIncomeCash(IUnitOfWork uow, RouteList routeList, Income income, decimal amount) { var distributedIncomeAmount = routeListItemCashDistributionDocumentRepository .GetDistributedIncomeAmount(uow, income.Id); if (distributedIncomeAmount > amount) { var docs = routeListItemCashDistributionDocumentRepository.GetRouteListItemCashDistributionDocuments(uow, income.Id); foreach (var doc in docs) { DeleteOperation(uow, doc); DeleteDocument(uow, doc); uow.Commit(); } DistributeIncomeCash(uow, routeList, income, amount); } if (distributedIncomeAmount < amount) { DistributeIncomeCash(uow, routeList, income, amount - distributedIncomeAmount); } }
public PremiumRaskatGAZelleWageModel(IEmployeeRepository employeeRepository, IWageParametersProvider wageParametersProvider, IPremiumRaskatGAZelleParametersProvider premiumRaskatGaZelleParametersProvider, RouteList routeList) { this.employeeRepository = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository)); this.wageParametersProvider = wageParametersProvider ?? throw new ArgumentNullException(nameof(wageParametersProvider)); this.premiumRaskatGAZelleParametersProvider = premiumRaskatGaZelleParametersProvider ?? throw new ArgumentNullException(nameof(premiumRaskatGaZelleParametersProvider)); this.routeList = routeList ?? throw new ArgumentNullException(nameof(routeList)); }
public static void RegisterRoutes(this PluginContainer pluginContainer, RouteCollection routes) { RouteList pluginRoutes = new RouteList(); pluginContainer.ExecuteMethod("RegisterRoutes", pluginRoutes); pluginRoutes.ForEach(r => routes.Add(pluginContainer.GetRouteName(r.MethodName), new PluginRoute(((Plugin)pluginContainer.Tag).ID, r.MethodName, r.Url, r.MergeWithDefaults(new { controller = "Plugin", action = "CallMethod" }), r.MergeWithConstraints(null)))); }
//Конструктор создания новой строки public RouteListItem(RouteList routeList, Order order) { this.routeList = routeList; if(order.OrderStatus == OrderStatus.Accepted) { this.order = order; order.OrderStatus = OrderStatus.InTravelList; } if (routeList.Status == RouteListStatus.EnRoute) { this.Order = order; } }
public static IList<GoodsLoadedListResult> AllGoodsLoaded(IUnitOfWork UoW, RouteList routeList, CarLoadDocument excludeDoc = null) { CarLoadDocument docAlias = null; CarLoadDocumentItem docItemsAlias = null; GoodsLoadedListResult inCarLoads = null; var loadedQuery = UoW.Session.QueryOver<CarLoadDocument>(() => docAlias) .Where(d => d.RouteList.Id == routeList.Id); if (excludeDoc != null) loadedQuery.Where(d => d.Id != excludeDoc.Id); var loadedlist = loadedQuery .JoinAlias(d => d.Items, () => docItemsAlias) .SelectList (list => list .SelectGroup (() => docItemsAlias.Nomenclature.Id).WithAlias (() => inCarLoads.NomenclatureId) .SelectGroup (() => docItemsAlias.Equipment.Id).WithAlias (() => inCarLoads.EquipmentId) .SelectSum (() => docItemsAlias.Amount).WithAlias (() => inCarLoads.Amount) ).TransformUsing (Transformers.AliasToBean <GoodsLoadedListResult> ()) .List<GoodsLoadedListResult> (); return loadedlist; }
public static IList<GoodsInRouteListResult> GetEquipmentsInRL(IUnitOfWork uow, RouteList routeList, Warehouse warehouse = null) { GoodsInRouteListResult resultAlias = null; Vodovoz.Domain.Orders.Order orderAlias = null; OrderItem orderItemsAlias = null; OrderEquipment orderEquipmentAlias = null; Nomenclature OrderItemNomenclatureAlias = null, OrderEquipmentNomenclatureAlias = null; Equipment equipmentAlias = null; var ordersQuery = QueryOver.Of<Vodovoz.Domain.Orders.Order> (() => orderAlias); var routeListItemsSubQuery = QueryOver.Of<RouteListItem> () .Where (r => r.RouteList.Id == routeList.Id) .Select (r => r.Order.Id); ordersQuery.WithSubquery.WhereProperty (o => o.Id).In (routeListItemsSubQuery).Select (o => o.Id); var orderitemsQuery = uow.Session.QueryOver<OrderItem>(() => orderItemsAlias) .WithSubquery.WhereProperty(i => i.Order.Id).In(ordersQuery) .JoinAlias(() => orderItemsAlias.Nomenclature, () => OrderItemNomenclatureAlias) .Where(() => !OrderItemNomenclatureAlias.Serial); if (warehouse != null) orderitemsQuery.Where(() => OrderItemNomenclatureAlias.Warehouse == warehouse); var orderEquipmentsQuery = uow.Session.QueryOver<OrderEquipment>(() => orderEquipmentAlias) .WithSubquery.WhereProperty(i => i.Order.Id).In(ordersQuery) .JoinAlias(() => orderEquipmentAlias.Equipment, () => equipmentAlias) .Where(() => orderEquipmentAlias.Direction == Direction.Deliver) .JoinAlias(() => equipmentAlias.Nomenclature, () => OrderEquipmentNomenclatureAlias); if (warehouse != null) orderEquipmentsQuery.Where(() => OrderEquipmentNomenclatureAlias.Warehouse == warehouse); return orderEquipmentsQuery .SelectList (list => list .SelectGroup (() => OrderEquipmentNomenclatureAlias.Id).WithAlias (() => resultAlias.NomenclatureId) .SelectGroup (() => equipmentAlias.Id).WithAlias (() => resultAlias.EquipmentId) .SelectSum (() => 1).WithAlias (() => resultAlias.Amount) ) .TransformUsing (Transformers.AliasToBean <GoodsInRouteListResult> ()) .List<GoodsInRouteListResult> (); }
public static void Print(IUnitOfWork uow, RouteList routeList, ITdiTab myTab) { List<RouteListPrintableDocs> docsList = new List<RouteListPrintableDocs> { new RouteListPrintableDocs(uow, routeList, RouteListPrintableDocuments.LoadDocument), new RouteListPrintableDocs(uow, routeList, RouteListPrintableDocuments.TimeList), new RouteListPrintableDocs(uow, routeList, RouteListPrintableDocuments.RouteList) }; DocumentPrinter.PrintAll(docsList); // List<ReportInfo> docs = new List<ReportInfo> // { // GetRDLLoadDocument(routeListId), // GetRDLRouteList(uow, routeListId), // GetRDLTimeList(routeListId) // }; // // foreach (var doc in docs) // { // myTab.TabParent.OpenTab( // TdiTabBase.GenerateHashName<ReportViewDlg>(), // () => new ReportViewDlg(doc, true)); // } }
public static IList<Equipment> GetEquipmentUnloadedTo(IUnitOfWork uow, RouteList routeList) { CarUnloadDocumentItem unloadItemAlias = null; WarehouseMovementOperation operationAlias = null; Equipment equipmentAlias = null; var unloadedEquipmentIdsQuery = QueryOver.Of<CarUnloadDocument>().Where(doc => doc.RouteList.Id == routeList.Id) .JoinAlias(doc => doc.Items, () => unloadItemAlias) .JoinAlias(() => unloadItemAlias.MovementOperation, () => operationAlias) .JoinAlias(() => operationAlias.Equipment, () => equipmentAlias) .Select(op => equipmentAlias.Id); return uow.Session.QueryOver<Equipment>(()=>equipmentAlias).WithSubquery.WhereProperty(() => equipmentAlias.Id).In(unloadedEquipmentIdsQuery).List(); }
public static ReportInfo GetRDLRouteList(IUnitOfWork uow, RouteList routeList) { var RouteColumns = RouteColumnRepository.ActiveColumns (uow); if (RouteColumns.Count < 1) MessageDialogWorks.RunErrorDialog ("В справочниках не заполнены колонки маршрутного листа. Заполните данные и повторите попытку."); string documentName = "RouteList"; switch (routeList.Status) { case RouteListStatus.MileageCheck: case RouteListStatus.Closed: documentName = "ClosedRouteList"; break; } string RdlText = String.Empty; using (var rdr = new StreamReader (System.IO.Path.Combine (Environment.CurrentDirectory, "Reports/" + documentName + ".rdl"))) { RdlText = rdr.ReadToEnd (); } //Для уникальности номеров Textbox. int TextBoxNumber = 100; //Шаблон стандартной ячейки const string numericCellTemplate = "<TableCell><ReportItems>" + "<Textbox Name=\"Textbox{0}\">" + "<Value>{1}</Value>" + "<Style xmlns=\"http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition\">" + "<BorderStyle><Default>Solid</Default></BorderStyle><BorderColor /><BorderWidth />" + "<TextAlign>Center</TextAlign><Format>0</Format></Style></Textbox></ReportItems></TableCell>"; //Расширяем требуемые колонки на нужную ширину RdlText = RdlText.Replace ("<!--colspan-->", String.Format ("<ColSpan>{0}</ColSpan>", RouteColumns.Count)); //Расширяем таблицу string columnsXml = "<TableColumn><Width>20pt</Width></TableColumn>"; string columns = String.Empty; for (int i = 0; i < RouteColumns.Count; i++) { columns += columnsXml; } RdlText = RdlText.Replace ("<!--table_column-->", columns); //Создаем колонки, дополняем запрос и тд. string CellColumnHeader = String.Empty; string CellColumnValue = String.Empty; string CellColumnStock = String.Empty; string CellColumnTotal = String.Empty; string SqlSelect = String.Empty; string SqlSelectSubquery = String.Empty; string Fields = String.Empty; string TotalSum = "= 0"; foreach (var column in RouteColumns) { //Заголовки колонок CellColumnHeader += String.Format ( "<TableCell><ReportItems>" + "<Textbox Name=\"Textbox{0}\">" + "<Value>{1}</Value>" + "<Style xmlns=\"http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition\">" + "<BorderStyle><Default>Solid</Default><Top>Solid</Top><Bottom>Solid</Bottom></BorderStyle>" + "<BorderColor /><BorderWidth /><FontSize>8pt</FontSize><TextAlign>Center</TextAlign></Style>" + "<CanGrow>true</CanGrow></Textbox></ReportItems></TableCell>", TextBoxNumber++, column.Name); //Формула для колонки с водой для информации из запроса CellColumnValue += String.Format (numericCellTemplate, TextBoxNumber++, String.Format("=Iif({{Water{0}}} = 0, \"\", {{Water{0}}})", column.Id )); //Ячейка с запасом. Пока там пусто CellColumnStock += String.Format (numericCellTemplate, TextBoxNumber++, ""); //Ячейка с суммой по бутылям + запасы. CellColumnTotal += String.Format (numericCellTemplate, TextBoxNumber++, String.Format("=Iif(Sum({{Water{0}}}) = 0, \"\", Sum({{Water{0}}}))", column.Id )); //Запрос.. SqlSelect += String.Format (", IFNULL(wt_qry.Water{0}, 0) AS Water{0}", column.Id.ToString ()); SqlSelectSubquery += String.Format (", SUM(IF(nomenclature_route_column.id = {0}, order_items.count, 0)) AS {1}", column.Id, "Water" + column.Id.ToString ()); //Линкуем запрос на переменные RDL Fields += String.Format ("" + "<Field Name=\"{0}\">" + "<DataField>{0}</DataField>" + "<TypeName>System.Int32</TypeName>" + "</Field>", "Water" + column.Id.ToString ()); //Формула итоговой суммы по всем бутялым. if(RouteColumnRepository.NomenclaturesForColumn(uow, column).Any(x => x.Category == Vodovoz.Domain.Goods.NomenclatureCategory.water)) TotalSum += "+ Sum({Water" + column.Id.ToString () + "})"; } RdlText = RdlText.Replace ("<!--table_cell_name-->", CellColumnHeader); RdlText = RdlText.Replace ("<!--table_cell_value-->", CellColumnValue); RdlText = RdlText.Replace ("<!--table_cell_stock-->", CellColumnStock); RdlText = RdlText.Replace ("<!--table_cell_total-->", CellColumnTotal); RdlText = RdlText.Replace ("<!--sql_select-->", SqlSelect); RdlText = RdlText.Replace ("<!--sql_select_subquery-->", SqlSelectSubquery); RdlText = RdlText.Replace ("<!--fields-->", Fields); RdlText = RdlText.Replace ("<!--table_cell_total_without_stock-->", TotalSum); var TempFile = System.IO.Path.GetTempFileName (); using (StreamWriter sw = new StreamWriter (TempFile)) { sw.Write (RdlText); } #if DEBUG Console.WriteLine(RdlText); #endif return new ReportInfo { Title = String.Format ("Маршрутный лист № {0}", routeList.Id), Path = TempFile, Parameters = new Dictionary<string, object> { { "RouteListId", routeList.Id } } }; }
protected void Page_Load(object sender, EventArgs e) { if (!(Session[ByteCore.FerryBooking.Web.SessionVariable.Step1UserInput] is Step1UserInput)) { Response.Redirect("Default.aspx"); } Step1UserInput step1 = (Step1UserInput)Session[SessionVariable.Step1UserInput]; if (!Page.IsPostBack) { RouteList routelist = new RouteList(); Route r1 = new Route().GetById(step1.Route1Id,false); routelist.Add(r1); Hashtable htSchedulePreLoad = new Hashtable(); htSchedulePreLoad.Add(r1.ID.ToString(),InitRouteSchedule(step1.Route1Id)); if (step1.Route2Id>0) { Route r2 = new Route().GetById(step1.Route2Id, false); routelist.Add(r2); htSchedulePreLoad.Add(r2.ID.ToString(), InitRouteSchedule(step1.Route2Id)); } if (step1.Route3Id>0) { Route r3 = new Route().GetById(step1.Route3Id, false); routelist.Add(r3); htSchedulePreLoad.Add(r3.ID.ToString(), InitRouteSchedule(step1.Route3Id)); } if (step1.Route4Id > 0) { Route r4 = new Route().GetById(step1.Route4Id, false); routelist.Add(r4); htSchedulePreLoad.Add(r4.ID.ToString(), InitRouteSchedule(step1.Route4Id)); } Session[SessionVariable.RouteSchedules] = htSchedulePreLoad; this.lvSchedule.DataSource = routelist; lvSchedule.DataBind(); RouteOrderPassengerDetailList passengerList = new RouteOrderPassengerDetailList(); for (int i = 0; i < step1.PassengersCount; i++) { passengerList.Add(new RouteOrderPassengerDetail()); } lvPassenger.DataSource = passengerList; lvPassenger.DataBind(); lvTravelMethod.DataSource = routelist; lvTravelMethod.DataBind(); } }
public RouteListPrintableDocs(IUnitOfWork uow, RouteList routeList, RouteListPrintableDocuments type) { this.UoW = uow; this.routeList = routeList; this.type = type; }