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); }
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"]; }
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); }
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); }
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); }
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); }
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); }
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); } }