Example #1
0
 public static string SaveRoute(transfer_route saved_route)
 {
     SaveRouteInternal(saved_route.unitNomenID, saved_route.prodNomenID, saved_route.route);
     return new PostResult("ok", 0).ToString();
 }
Example #2
0
        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);
            }
        }