Ejemplo n.º 1
0
        public static string RequestListWares()
        {
            using (SpecificationProvider provider = new SpecificationProvider())
            {
                List<transfer_ware> returnList = new List<transfer_ware>();
                DataSet dataSet = provider.GetListOfWares(DateTime.Now);

                foreach (DataRow row in dataSet.Tables[0].Rows)
                {
                    transfer_ware ware = new transfer_ware();

                    ware.ware_id = row.Field<Guid>("ProductID"); ;
                    ware.ware_pn1 = row.Field<string>("pn1");
                    ware.ware_pn2 = row.Field<string>("superpole");

                    string postfix = "";
                    if (row.Field<Guid?>("id1").HasValue)
                    {
                        // карточка приказная
                        postfix = "1";
                        //tran.isprikaz = true;
                    }
                    else
                    {
                        // карточка стандартная
                        if (!row.Field<Guid?>("id").HasValue)
                        {
                            // нет никакой карточки
                            returnList.Add(ware);
                            continue;
                        }
                    }

                    ware.order_id = (Guid) row["order_id"];
                    ware.created = row.Field<DateTime>("created");
                    ware.LastVersCreatedDate = row.Field<DateTime?>("LastVersCreatedDate");
                    ware.order_number = row.Field<string>("cco").Trim();
                    ware.order_year = Convert.ToInt32(row.Field<string>("year").Trim());

                    ware.date = row.Field<DateTime?>("dtle" + postfix);
                    ware.note = row.Field<string>("cmt" + postfix);

                    //ware.gotov_him = row.Field<string>("h_got" + postfix).Trim() == "ГОТОВ" ? true : false;
                    //ware.gotov_tech = row.Field<string>("t_got" + postfix).Trim() == "ГОТОВ" ? true : false;
                    //ware.gotov_svar = row.Field<string>("s_got" + postfix).Trim() == "ГОТОВ" ? true : false;

                    ware.gotov_him_date = row.Field<DateTime?>("him_date");
                    ware.gotov_svar_date = row.Field<DateTime?>("svar_date");
                    ware.gotov_techn_date = row.Field<DateTime?>("techn_date");

                    returnList.Add(ware);
                }

                MemoryStream stream = new MemoryStream();

                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<transfer_ware>));
                ser.WriteObject(stream, returnList);

                stream.Seek(0, SeekOrigin.Begin);
                StreamReader reader = new StreamReader(stream, Encoding.UTF8);
                return reader.ReadToEnd();
            }
        }
Ejemplo n.º 2
0
        public static string ApplicabilityMaterials(string material_id)
        {
            DateTime CurrentDT = DateTime.Now;
            List<object[]> rows = new List<object[]>();
            List<UniColumn> columns = new List<UniColumn>();

            // prepare columns
            columns.Add(new UniColumn()
            {
                uniType = UniColumn.UniType.ProductMenu,
                header = "#",
                dataBind = "productID"
            });
            columns.Add(new UniColumn()
            {
                uniType = UniColumn.UniType.String,
                header = "Обозначение",
                dataBind = "pn1"
            });
            columns.Add(new UniColumn()
            {
                uniType = UniColumn.UniType.String,
                header = "Наименование",
                dataBind = "pn2"
            });
            columns.Add(new UniColumn()
            {
                uniType = UniColumn.UniType.String,
                header = "Год приказа",
                dataBind = "yorder"
            });
            columns.Add(new UniColumn()
            {
                uniType = UniColumn.UniType.String,
                header = "Номер приказа",
                dataBind = "norder"
            });
            columns.Add(new UniColumn()
            {
                uniType = UniColumn.UniType.Boolean,
                header = "Основной материал",
                dataBind = "main_material"
            });
            columns.Add(new UniColumn()
            {
                uniType = UniColumn.UniType.Decimal,
                header = "Норма расхода",
                dataBind = "no"
            });
            columns.Add(new UniColumn()
            {
                uniType = UniColumn.UniType.String,
                header = "Единица измерения",
                dataBind = "um"
            });
            columns.Add(new UniColumn()
            {
                uniType = UniColumn.UniType.String,
                header = "Цех потребления",
                dataBind = "s"
            });

            using (SpecificationProvider provider = new SpecificationProvider())
            {
                for (int specificationTable = 1; specificationTable <= 2; specificationTable++)
                {
                    DataSet dataSet = provider.GetApplicabilityList(CurrentDT, specificationTable, new Guid(material_id));
                    foreach (DataRow row in dataSet.Tables[0].Rows)
                    {
                        rows.Add(new object[] {
                        row["productID"],
                        row["pn1"],                // обозначение
                        row["pn2"],                // наименование
                        row["yorder"],             // год приказа
                        row["norder"],             // номер приказа
                        (specificationTable == 1), // основной материал
                        Convert.ToDouble(row["no"]).ToString(CultureInfo.InvariantCulture),   // норма расхода
                        row["um"],                 // единица измерения
                        row["s"]                   // цех потребления
                    });
                    }

                }
            }

            UniTransfer transfer = new UniTransfer()
            {
                columns = columns,
                rows = rows,
                statusAnswer = 0,
                messageAnswer = "Ok"
            };

            try
            {
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                serializer.MaxJsonLength = 50000000;
                return serializer.Serialize(transfer);
            } catch (Exception e)
            {
                return e.Message;
            }
        }
Ejemplo n.º 3
0
        public static string RebuildListWares()
        {
            try
            {
                using (SpecificationProvider provider = new SpecificationProvider())
                {
                    // получаем все приказы, которые содержат год и номер
                    var orders = from o in provider.OrderArticles
                                 where o.year.Length > 0
                                 && o.cco.Length > 0
                                 select o;

                    foreach (var order in orders)
                    {
                        // для каждого приказа получаем приказные продукты
                        List<Product> orderProducts = (from prod in provider.Products
                                                        where prod._dictNomenID == order._dictNomenID
                                                        select prod).ToList();

                        // находим последнюю версию приказного продукта
                        // и вставляем ссылку на неё в приказ
                        if (orderProducts.Count() > 0)
                        {
                            int max_order_version = orderProducts.Max(p => Convert.ToInt32(p.Version));
                            Product actual_product = orderProducts.Where(p => Convert.ToInt32(p.Version) == max_order_version).Single();

                            order.LastVersProductID = actual_product.ID;
                        }
                    }

                    provider.SubmitChanges();
                }
            }
            catch
            {
                return "Error!";
            }
            return "Rebuilding list of wares . . . . . . ok";
        }