public static string SaveRoute(transfer_route saved_route) { SaveRouteInternal(saved_route.unitNomenID, saved_route.prodNomenID, saved_route.route); return new PostResult("ok", 0).ToString(); }
public static string RequestAllRoutes(Guid prod_id) { using (ProductProvider provider = new ProductProvider()) { DateTime currentDT = DateTime.Now; List<transfer_route> list_routes = new List<transfer_route>(); Product product = provider.GetProduct(prod_id); var applicability = (from conf in provider.Configurations join prod in provider.Products on conf.ProductID equals prod.ID join ownprod in provider.Products on conf.ProductOwnerID equals ownprod.ID join ownnomen in provider._dictNomens on ownprod._dictNomenID equals ownnomen.ID where prod._dictNomenID == product._dictNomenID select ownnomen.ID).Distinct(); var all_routes = from route in provider.Specification_3s where route._Material_ID == product._dictNomenID && route.StartDT <= currentDT && route.FinishDT > currentDT select route; // есть применяемость // нет маршрута var list1 = applicability.Where(appl => !all_routes.Any(rt => rt._Product_ID == appl)); foreach (Guid ownnomen_id in list1) { _dictNomen ownnomen = provider._dictNomens.SingleOrDefault(d => d.ID == ownnomen_id); transfer_route adding_route = new transfer_route(); adding_route.prodNomenID = product._dictNomenID.Value; adding_route.unitNomenID = ownnomen.ID; adding_route.unit_pn1 = ownnomen.pn1; adding_route.unit_pn2 = ownnomen.superpole; list_routes.Add(adding_route); } // есть маршрут foreach (Specification_3 route in all_routes ) { try { _dictNomen unit_nomen = provider._dictNomens.SingleOrDefault(d => d.ID == route._Product_ID); transfer_route adding_route = new transfer_route(); adding_route.ID = route.id; adding_route.prodNomenID = product._dictNomenID.Value; adding_route.unitNomenID = route._Product_ID; adding_route.unit_pn1 = unit_nomen.pn1; adding_route.unit_pn2 = unit_nomen.superpole; adding_route.route = route.Route; adding_route.comment = route.cmt; adding_route.lastedit_date = route.dtle; try { adding_route.lastedit_author = (from u in provider.Users where u.ID == route.userID select u.Name).Single(); } catch {}; list_routes.Add(adding_route); } catch { } } JavaScriptSerializer serializer = new JavaScriptSerializer(); return serializer.Serialize(list_routes); } }