Ejemplo n.º 1
0
        public string getTextonFile(clsModel obj)
        {
            string result = string.Empty;

            if (!string.IsNullOrEmpty(obj.strpath) && File.Exists(obj.strpath))
            {
                result = File.ReadAllText(obj.strpath);
            }

            return(result);
        }
Ejemplo n.º 2
0
        internal SawBeam(DataRow beamRow, clsModel model)
        {
            _beamRow = beamRow;
            Model    = model;
            _Beam    = _GetBeam();

            // Заполнение идентификаторов для связи с документами и загатовками.
            IdOptimDoc    = (int)_beamRow["idoptimdoc"];
            IdOptimDocPic = (int)_beamRow["idoptimdocpic"];
            IdOptimDocPos = (int)_beamRow["idoptimdocpos"];
            ManufactName  = (string)_beamRow["manufact_name"];
        }
Ejemplo n.º 3
0
        public personas getObjetctfromXML(clsModel obj)
        {
            personas result = new personas();

            if (!string.IsNullOrEmpty(obj.strpath) && File.Exists(obj.strpath))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(personas));
                using (StreamReader reader = new StreamReader(obj.strpath))
                {
                    result = (personas)serializer.Deserialize(reader);
                }
            }

            return(result);
        }
Ejemplo n.º 4
0
        public byte[] getAllBytesfromFile(clsModel obj)
        {
            byte[] result = new byte[0];
            if (!string.IsNullOrEmpty(obj.strpath) && File.Exists(obj.strpath))
            {
                using (var stream = File.OpenRead(obj.strpath))
                {
                    using (var binaryreader = new BinaryReader(stream))
                    {
                        result = binaryreader.ReadBytes((int)stream.Length);
                    }
                }
            }

            return(result);
        }
Ejemplo n.º 5
0
        static void AnotherMain()
        {
            dbinit.db  = new SqlConnection("Data Source=sqlwindraw.fabrikon.ru;Initial Catalog=ecad_FO;User ID=windraw;Password=Ffff1234");
            dbconn._db = new dbconn();
            SettingsLoad.currentSettings = new Atechnology.winDraw.Model.Settings.Settings();

            ds_order ds = new ds_order();

            ds_order.modelDataTable     modelDT     = new ds_order.modelDataTable();
            ds_order.orderitemDataTable orderitemDT = new ds_order.orderitemDataTable();


            //int idorderitem = 1249634;
            int idorderitem = 1249635;

            //int idorderitem = 1258469;


            dbconn.FillDataTable2(modelDT, string.Format("select top (100) * from model where idorderitem  = {0}", idorderitem), true);
            dbconn.FillDataTable2(orderitemDT, string.Format("select * from orderitem where idorderitem = {0}", idorderitem), false);

            ds_order.modelRow     modelRow  = modelDT[0];
            ds_order.orderitemRow orderitem = orderitemDT[0];



            byte[]   b          = Atechnology.Components.ZipArchiver.UnZip2(modelRow.classnative);
            clsModel classmodel = new clsModel(b);

            classmodel.Load(b);
            MemoryStream ms        = new MemoryStream(b);
            XmlReader    xmlReader = XmlReader.Create(ms);

            XElement xElement = XElement.Load(xmlReader);

            //classmodel.Save();

            //classmodel.ZipSave();

            classmodel.ZipConstructionSave();



            ImitationSaveClassModel(classmodel);
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            dbinit.db = new SqlConnection("Data Source=sqlwindraw.fabrikon.ru;Initial Catalog=ecad_FO;User ID=windraw;Password=Ffff1234");
            //dbconn._db = new dbconn();
            //dbconn.db = dbinit.db;
            //Settings.People = PeopleStruct.GetPeople(dbconn._db, "n.fedorov", "Ffff1234");
            //Settings.People = PeopleStruct.GetPeople((
            //SqlConnection theConnection = new SqlConnection("Data Source=sqlwindraw.fabrikon.ru;Initial Catalog=ecad_FO;User ID=windraw;Password=Ffff1234");
            SqlRepository repository = new SqlRepository();

            repository.dbContext = new WindrawDbDataContext(dbinit.db);

            model model = repository.Models.FirstOrDefault(m => m.idorderitem == 1215498);



            Construction contraction = new Construction();


            contraction.ColorOut = "red";
            contraction.Load(Atechnology.Components.ZipArchiver.UnZip2(model.cls.ToArray()));
            //contraction.ColorOut = "red";
            //contraction.Save();
            clsModel cls = new clsModel(Atechnology.Components.ZipArchiver.UnZip2(model.classnative.ToArray()));

            //cls.ColorOutside.ColorName = cls.ColorInside.ColorName;
            //cls.ColorOutside.GroupName = cls.ColorInside.GroupName;



            ////cls.Save();

            //model.classnative = Atechnology.Components.ZipArchiver.Zip2(cls.Save());

            //repository.UpdateModel(model);
        }
Ejemplo n.º 7
0
        static void ImitationSaveClassModel(clsModel classModel)
        {
            XmlDocument doc = new XmlDocument();
            XmlProcessingInstruction newChild = doc.CreateProcessingInstruction("xml", "version = '1.0'");

            doc.AppendChild(newChild);
            XmlElement element = doc.CreateElement("clsModel");

            doc.AppendChild(element);
            classModel.ProfileSystem.Save(doc, element);
            classModel.FurnitureSystem.Save(doc, element);
            element.SetAttribute("BaseRegionID", (classModel.BaseRegion == null) ? "-1" : classModel.BaseRegion.IDRegion.ToString());
            element.SetAttribute("BaseRegionFatherID", (classModel.BaseRegion == null) ? "-1" : classModel.BaseRegion.IDFathRegion.ToString());
            element.SetAttribute("Orient", ((int)classModel.Orientation).ToString());
            element.SetAttribute("ModelName", classModel.ModelName);
            //Tools.SetIntAttr(element, "ModelID", classModel.m);
            element.SetAttribute("Comment", classModel.Comment);
            element.SetAttribute("ModelCount", classModel.ModelCount.ToString());
            element.SetAttribute("HandleType", ((int)classModel.HandleType).ToString());
            element.SetAttribute("HandlePositionType", ((int)classModel.HandlePositionType).ToString());
            //element.SetAttribute("ConstructionOffset", ((int)classModel.constructionOffset).ToString());
            element.SetAttribute("CreateTime", DateTime.Now.ToString(CultureInfo.InvariantCulture));


            if (classModel.ColorInside != null)
            {
                classModel.ColorInside.Save(doc, element, "NewColorInside");
            }
            if (classModel.ColorOutside != null)
            {
                classModel.ColorOutside.Save(doc, element, "NewColorOutside");
            }
            if (classModel.HandlePosition != null)
            {
                classModel.HandlePosition.Save(doc, element);
            }
            if (classModel.ProfileSystem.Fills.Default != null)
            {
                classModel.ProfileSystem.Fills.Default.Save(doc, element, "DefaultFill");
            }
            if ((classModel.UserParameters != null) && (classModel.UserParameters.Count != 0))
            {
                classModel.UserParameters.Save(doc, element);
            }
            if (classModel.ConstructionType != null)
            {
                classModel.ConstructionType.Save(doc, element);
            }
            int num   = 0;
            int count = classModel.Parts.Count;

            while (num < count)
            {
                classModel.Parts[num].Save(doc, element);
                num++;
            }
            colModelConnection first = classModel.ModelConnections.GetFirstModelConnection(classModel);

            classModel.ModelConnections.Save(doc, element, 2);
            num   = 0;
            count = classModel.ModelConnections.Count;

            var mmmmmmmmmmmmm = classModel.ModelConnections[0];

            while (num < count)
            {
                classModel.ModelConnections[num].Save(doc, element, classModel.ModelConnections[num].firstModel == classModel);
                num++;
            }
            XmlElement element2 = doc.CreateElement("CalcVariables");

            element.AppendChild(element2);
            foreach (KeyValuePair <string, string> pair in classModel.CalcVariables)
            {
                XmlElement element3 = doc.CreateElement("Variable");
                element2.AppendChild(element3);
                element3.SetAttribute("Name", pair.Key);
                element3.SetAttribute("Value", pair.Value);
            }
            MemoryStream outStream = new MemoryStream();

            doc.Save(outStream);
        }
Ejemplo n.º 8
0
        public static void OptimizedMainProfileExport(string idoptimdocs)
        {
            FolderBrowserDialog dialog = new FolderBrowserDialog();

            //if (dialog.ShowDialog() != DialogResult.OK)
            // return;

            // string folderName = dialog.SelectedPath;
            string folderName = "C:\\MyProject\\! FO_LIBRARY 2\\TEST FILEs\\";


            DataSet dataSet = new DataSet();

            using (SqlCommand command = new SqlCommand())
                using (SqlDataAdapter adapter = new SqlDataAdapter(command))
                {
                    command.Connection  = dbinit.db;
                    command.CommandText = "fo_optim_main_prof_by_idoptimdocs";
                    command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("@idoptimdocs", idoptimdocs);

                    adapter.Fill(dataSet);
                }

            // Документы оптимизации
            DataTable optimDocumnetTable = dataSet.Tables[0];

            // Загатовки
            DataTable optimDocPicTable = dataSet.Tables[1];

            // Напилиные балки
            DataTable beamTable = dataSet.Tables[2];


            Dictionary <int, clsModel> idorderitemClsModel = new Dictionary <int, clsModel>();


            foreach (DataRow row in dataSet.Tables[3].Rows)
            {
                byte[] modelByteArray = Atechnology.Components.ZipArchiver.UnZip2((byte[])row[1]);
                idorderitemClsModel.Add((int)row[0], new clsModel(modelByteArray));
            }

            List <Tuple <DataRow, string> > beemDataRow_leafNumber = new List <Tuple <DataRow, string> >();

            DataTable beemDataTable = dataSet.Tables[2];

            beemDataTable.Columns.Add("FieldNumber");


            int idorderitem = -1;



            SawWorkpiece piece;

            // Создать документы и заполнить их
            foreach (DataRow docRow in optimDocumnetTable.Rows)
            {
                SawDocument docWriter = new SawDocument(docRow);


                //string docText = string.Format("L,{0},CUT", docRow["docname"]);

                // Загатовки(картинки) для напиловки
                IEnumerable <DataRow> picRows = optimDocPicTable.AsEnumerable()
                                                .Where(pr => pr.Field <int>("idoptimdoc") == docWriter.IdOptimDoc);

                IEnumerable <DataRow> beamRows = beamTable.AsEnumerable()
                                                 .Where(br => br.Field <int>("idoptimdoc") == docWriter.IdOptimDoc)
                                                 .OrderBy(br => br.Field <string>("manufact_name"));



                // -- Цикл по заготовкам(картинкам оптимизации) внутри документа
                foreach (DataRow picRow in picRows)
                {
                    int idoptimdocpic = (int)picRow["idoptimdocpic"];
                    piece = new SawWorkpiece(picRow);

                    docWriter.AddPicWriter(piece);
                }


                IEnumerable <DataRow> beemRows = dataSet.Tables[2]
                                                 .AsEnumerable()
                                                 .Where(br => br.Field <int>("idoptimdoc") == docWriter.IdOptimDoc)
                                                 .OrderBy(br => br.Field <string>("manufact_name")); // Упорядочить по manufactname.
                // Необходимо для того, чтобы балки(Рам, Створок и Импостов)
                // из одного заказа упаковывались в свои тележки в одинаковой последовательности.


                clsModel clsModel = null;

                // Цикл по напиленым балкам
                foreach (DataRow beemRow in beemRows)
                {
                    // Получить модель для дальнейшего извлечения балки.
                    idorderitem = (int)beemRow["idorderitem"];
                    clsModel    = idorderitemClsModel[idorderitem];

                    SawBeam sawBeam = new SawBeam(beemRow, clsModel);
                    sawBeam.IsRemark = true;

                    docWriter.AddBeamWriter(sawBeam);
                }

                docWriter.FillDocument(folderName);
            }
        }