예제 #1
0
 private void ErrorOccurred(Proces proces)
 {
     numberOfErrors++;
     proces.NumberOfErrors++;
     foreach (Frame frame in framesList)
     {
         if (frame.Page == null)
         {
             frame.Page     = proces.ReferenceList[0].Page;
             frame.ProcesID = proces;
             breaking       = true;
             break;
         }
     }
     if (!breaking)
     {
         List <Frame> legalFrames = new List <Frame>();
         foreach (Frame frame in framesList)
         {
             if (frame.ProcesID == null || frame.ProcesID.Equals(proces))
             {
                 legalFrames.Add(frame);
             }
         }
         Frame frameToSwap = lru.Swap(legalFrames);
         frameToSwap.WaitingForRef = 0;
         frameToSwap.ProcesID      = proces;
         frameToSwap.Page          = proces.ReferenceList[0].Page;
         proces.OcupiedFrames.Add(frameToSwap);
     }
     proces.ReferenceList.RemoveAt(0);
 }
        public void SacuvajTokoveZaProces(long idProcesa, List <Tok> tokovi)
        {
            Proces proces = _procesOPP.VratiProcesPoIDSaTokovima(idProcesa);

            if (proces != null)
            {
                if (tokovi == null || !tokovi.Any())
                {
                    proces.Tokovi.AddRange(tokovi);
                }
                else
                {
                    tokovi.ForEach(tok =>
                    {
                        Tok tokUProcesu = proces.Tokovi.FirstOrDefault(t => t.RBToka == tok.RBToka);

                        if (tokUProcesu == null)
                        {
                            proces.Tokovi.Add(tok);
                        }
                        else
                        {
                            tokUProcesu.AktivnostiUToku = tok.AktivnostiUToku;
                            tokUProcesu.PodprocesiUToku = tok.PodprocesiUToku;
                        }
                    });
                }

                _procesOPP.SacuvajPromene();
                return;
            }
            throw new Exception("Процес " + idProcesa + " не постоји.");
        }
예제 #3
0
        public ProcesStadiuView(int _CURENT_USER_ID, string conStr, int _ID, string _tip_id)
        {
            StadiiRepository sr = new StadiiRepository(_CURENT_USER_ID, conStr);

            this.Stadii = (StadiuCombo[])sr.GetCombo().Result;
            //SentinteRepository senr = new SentinteRepository(_CURENT_USER_ID, conStr);
            //this.Sentinte = (Sentinta[])senr.GetAll().Result;
            ProcesStadiu[] pss = null;
            switch (_tip_id)
            {
            case "proces":
                this.ID_PROCES = _ID;
                this.ID_DOSAR  = null;
                Proces p = new Proces(_CURENT_USER_ID, conStr, _ID);
                pss = (ProcesStadiu[])p.GetStadii().Result;
                break;

            case "dosar":
                this.ID_PROCES = null;
                this.ID_DOSAR  = _ID;
                Dosar d = new Dosar(_CURENT_USER_ID, conStr, _ID);
                pss = (ProcesStadiu[])d.GetStadii().Result;
                break;
            }
            this.ProceseStadii = new ProcesStadiuExtended[pss.Length];
            for (int i = 0; i < pss.Length; i++)
            {
                this.ProceseStadii[i] = new ProcesStadiuExtended(pss[i]);
            }
            this.CurProcesStadiu = new ProcesStadiuExtended(new ProcesStadiu());
        }
예제 #4
0
파일: Main.cs 프로젝트: Meolax/Executer
 private void DrawDiagramProces(Proces proces)
 {
     if (proces.WaitTime != 0)
     {
         DrawCell(proces.ID, Convert.ToInt32(proces.Tc), Convert.ToInt32(proces.WaitTime + proces.Tc), Color.Red);
     }
     DrawCell(proces.ID, Convert.ToInt32(proces.ExectTime), Convert.ToInt32(proces.ExectTime + proces.Te), Color.Green);
 }
예제 #5
0
        public JsonResult Search(Proces Proces, ProcesJson procesJson)
        {
            response r = GetFiltered(JToken.FromObject(Proces), JToken.FromObject(procesJson));

            return(Json(JsonConvert.SerializeObject(r, Formatting.None, new Newtonsoft.Json.Converters.IsoDateTimeConverter()
            {
                DateTimeFormat = CommonFunctions.DATE_FORMAT
            }), JsonRequestBehavior.AllowGet));
        }
예제 #6
0
        public ContractView(int _CURENT_USER_ID, int _ID_PROCES, string conStr)
        {
            Proces p = new Proces(_CURENT_USER_ID, conStr, _ID_PROCES);

            this.CurContract = (Contract)p.GetContract().Result;
            ContracteRepository cr = new ContracteRepository(_CURENT_USER_ID, conStr);

            this.Contracte = (Contract[])cr.GetAll().Result;
        }
예제 #7
0
        public JsonResult Delete(int id)
        {
            response r               = new response();
            string   conStr          = Session["conStr"].ToString(); //ConfigurationManager.ConnectionStrings["MySQLConnectionString"].ConnectionString;
            int      _CURENT_USER_ID = Convert.ToInt32(Session["CURENT_USER_ID"]);
            //DosareRepository dr = new DosareRepository(_CURENT_USER_ID, conStr);
            Proces p = new Proces(_CURENT_USER_ID, conStr, id);

            r = p.Delete();
            return(Json(r, JsonRequestBehavior.AllowGet));
        }
예제 #8
0
 private void CheckSpace(Proces proces)
 {
     if (proces.OcupiedFrames.Count > proces.AssignedSpace)
     {
         for (int i = 0; i < proces.OcupiedFrames.Count - proces.AssignedSpace; i++)
         {
             Frame frameToRemove = lru.Swap(proces.OcupiedFrames);
             frameToRemove.ProcesID = null;
             proces.OcupiedFrames.Remove(frameToRemove);
         }
     }
 }
예제 #9
0
 public void Zapisuj()
 {
     if (dane > 0)
     {
         Console.WriteLine("Nowy Proces Zwalnianie " + dane);
         proces = Proces.Zwalnianie;
     }
     else
     {
         Console.WriteLine("Kolejka jest pusta");
     }
 }
예제 #10
0
 public void Wczytuj()
 {
     if (dane < 50)
     {
         Console.WriteLine("Nowy Proces Zapelnianie " + dane);
         proces = Proces.Zapelnianie;
     }
     else
     {
         Console.WriteLine("Kolejka jest pelna");
     }
 }
예제 #11
0
        private static void ZamknijInneProgramy()
        {
            Process AktualnyProces = Process.GetCurrentProcess();

            foreach (var Proces in Process.GetProcessesByName(AktualnyProces.ProcessName))
            {
                if (Proces.Id != AktualnyProces.Id)
                {
                    Proces.Kill();
                }
            }
        }
예제 #12
0
        //[AuthorizeUser(ActionName = "Procese", Recursive = false)]
        public ActionResult Index(string id)                       // nr_dosar_instanta
        {
            string          conStr = Session["conStr"].ToString(); //ConfigurationManager.ConnectionStrings["MySQLConnectionString"].ConnectionString;
            int             uid    = Convert.ToInt32(Session["CURENT_USER_ID"]);
            DosarPortalView dpv    = new DosarPortalView();

            try
            {
                Proces p = new Proces(uid, conStr, Convert.ToInt32(id));
                dpv = new DosarPortalView(p.NR_DOSAR_INSTANTA);
            }catch (Exception exp) { LogWriter.Log(exp); }
            return(PartialView("_InfoDosarPortal", dpv));
        }
예제 #13
0
        public JsonResult GetStadiuCurent(int id)
        {
            response             r               = new response();
            string               conStr          = Session["conStr"].ToString(); //ConfigurationManager.ConnectionStrings["MySQLConnectionString"].ConnectionString;
            int                  _CURENT_USER_ID = Convert.ToInt32(Session["CURENT_USER_ID"]);
            Proces               p               = new Proces(_CURENT_USER_ID, conStr, id);
            ProcesStadiu         ps              = (ProcesStadiu)p.GetStadiuCurent().Result;
            ProcesStadiuExtended toReturn        = new ProcesStadiuExtended(ps);

            return(Json(JsonConvert.SerializeObject(toReturn, Formatting.None, new Newtonsoft.Json.Converters.IsoDateTimeConverter()
            {
                DateTimeFormat = CommonFunctions.DATE_FORMAT
            }), JsonRequestBehavior.AllowGet));
        }
예제 #14
0
        public DocumentScanatProcesView(int _CURENT_USER_ID, string conStr, int _ID_PROCES)
        {
            ProceseRepository pr = new ProceseRepository(_CURENT_USER_ID, conStr);

            this.TipDocumenteScanateProcese = (string[])pr.GetTipDocumenteScanatePocese().Result;
            Proces p = new Proces(_CURENT_USER_ID, conStr, _ID_PROCES);

            DocumentScanatProces[] dsps = (DocumentScanatProces[])p.GetDocumente().Result;
            this.Documente = new DocumentScanatProcesExtended[dsps.Length];
            for (int i = 0; i < dsps.Length; i++)
            {
                this.Documente[i] = new DocumentScanatProcesExtended(dsps[i]);
            }
            this.CurDocumentScanatProces = new DocumentScanatProcesExtended(new DocumentScanatProces(_CURENT_USER_ID, conStr));
        }
예제 #15
0
        public virtual void Dokumentace_Zustatek(Proces proces, string s)
        {
            int i = int.Parse(s);

            Dokumentace += $"\n";
            switch (proces)
            {
            case Proces.Vklad:
                Dokumentace += $"Vklad {i} ";
                break;

            case Proces.Vyber:
                Dokumentace += $"Výběr {i} ";
                break;
            }
            Dokumentace += $"-> Zůstatek = {Math.Round(Zustatek,2)}";
        }
예제 #16
0
 public void CloneList()
 {
     clonedList = new List <Proces>();
     foreach (Proces proces in procesList)
     {
         Proces tmp = new Proces();
         foreach (Page page in proces.PageList)
         {
             tmp.PageList.Add(page);
         }
         foreach (Reference reference in proces.ReferenceList)
         {
             tmp.ReferenceList.Add(reference);
         }
         clonedList.Add(tmp);
     }
 }
예제 #17
0
        //public void ExportProceseToExcel(ProcesView ProcesView)
        public void ExportProceseToExcel(Proces Proces, ProcesJson procesJson)
        {
            string            conStr          = Session["conStr"].ToString(); //ConfigurationManager.ConnectionStrings["MySQLConnectionString"].ConnectionString;
            int               _CURENT_USER_ID = Convert.ToInt32(Session["CURENT_USER_ID"]);
            ProceseRepository pr = new ProceseRepository(_CURENT_USER_ID, conStr);

            string    _f        = CreateFilterString(JToken.FromObject(Proces), JToken.FromObject(procesJson));
            response  r         = pr.ExportExcel(null, null, _f, null);
            DataTable proceseDt = (DataTable)r.Result;

            using (ExcelPackage pack = new ExcelPackage())
            {
                ExcelWorksheet ws = pack.Workbook.Worksheets.Add("Procese");
                ws.Cells["A1"].LoadFromDataTable(proceseDt, true);
                var ms = new System.IO.MemoryStream();
                pack.SaveAs(ms);
                Response.BinaryWrite(ms.GetBuffer());
            }
        }
예제 #18
0
 private void CheckFrames(Proces proces)
 {
     foreach (Frame frame in framesList)
     {
         if (frame.Page != null)
         {
             if (frame.Page.Equals(proces.ReferenceList[0].Page))
             {
                 proces.ReferenceList.RemoveAt(0);
                 if (frame.ProcesID == null)
                 {
                     frame.ProcesID = proces;
                     proces.OcupiedFrames.Add(frame);
                     frame.WaitingForRef = 0;
                 }
                 breaking = true;
                 break;
             }
         }
     }
 }
예제 #19
0
 public Page(Proces procesID)
 {
     ProcesID = procesID;
 }
예제 #20
0
 public Udalost(float kdy, Proces kdo, TypUdalosti co)
 {
     this.kdy = kdy;
     this.kdo = kdo;
     this.co  = co;
 }
예제 #21
0
        public JsonResult Edit(Proces Proces, ProcesJson procesJson)
        {
            response toReturn = new response(true, "", null, null, new List <Error>());

            string conStr          = Session["conStr"].ToString(); //ConfigurationManager.ConnectionStrings["MySQLConnectionString"].ConnectionString;
            int    _CURENT_USER_ID = Convert.ToInt32(Session["CURENT_USER_ID"]);
            int    _ID_SOCIETATE   = Convert.ToInt32(Session["ID_SOCIETATE"]);
            Dosar  d = Proces.ID_DOSAR == null ? new Dosar() : new Dosar(_CURENT_USER_ID, conStr, Convert.ToInt32(Proces.ID_DOSAR));

            if (Proces.ID == null) // insert
            {
                Proces         p   = new Proces(_CURENT_USER_ID, conStr);
                PropertyInfo[] pis = Proces.GetType().GetProperties();
                foreach (PropertyInfo pi in pis)
                {
                    pi.SetValue(p, pi.GetValue(Proces));
                }
                string calitate = ((Nomenclator)p.GetCalitate(_ID_SOCIETATE).Result).DENUMIRE;

                if (!String.IsNullOrWhiteSpace(procesJson.Reclamant) || !String.IsNullOrWhiteSpace(procesJson.Parat) || !String.IsNullOrWhiteSpace(procesJson.Tert))
                {
                    if ((calitate == "PARAT" || calitate == "TERT") && !String.IsNullOrWhiteSpace(procesJson.Reclamant))
                    {
                        Parte reclamant = new Parte(_CURENT_USER_ID, conStr);
                        reclamant.DENUMIRE = procesJson.Reclamant;
                        toReturn           = reclamant.Insert();
                        if (toReturn.Status)
                        {
                            if (p.ID_DOSAR == null || (p.ID_DOSAR != null && d.ID_SOCIETATE_CASCO == null))
                            {
                                p.ID_RECLAMANT = toReturn.InsertedId;
                            }
                        }
                    }
                    if ((calitate == "RECLAMANT" || calitate == "TERT") && !String.IsNullOrWhiteSpace(procesJson.Parat))
                    {
                        Parte parat = new Parte(_CURENT_USER_ID, conStr);
                        parat.DENUMIRE = procesJson.Parat;
                        toReturn       = parat.Insert();
                        if (toReturn.Status)
                        {
                            if (p.ID_DOSAR == null || (p.ID_DOSAR != null && d.ID_SOCIETATE_RCA == null))
                            {
                                p.ID_PARAT = toReturn.InsertedId;
                            }
                        }
                    }
                    if (calitate != "TERT" && !String.IsNullOrWhiteSpace(procesJson.Tert))
                    {
                        Parte tert = new Parte(_CURENT_USER_ID, conStr);
                        tert.DENUMIRE = procesJson.Parat;
                        toReturn      = tert.Insert();
                        if (toReturn.Status)
                        {
                            p.ID_TERT = toReturn.InsertedId;
                        }
                    }
                }

                if (toReturn.Status)
                {
                    toReturn = p.Insert();
                }
            }
            else // update
            {
                Proces p        = new Proces(_CURENT_USER_ID, conStr, Convert.ToInt32(Proces.ID));
                string calitate = ((Nomenclator)p.GetCalitate(_ID_SOCIETATE).Result).DENUMIRE;

                if (!String.IsNullOrWhiteSpace(procesJson.Reclamant) || !String.IsNullOrWhiteSpace(procesJson.Parat) || !String.IsNullOrWhiteSpace(procesJson.Tert))
                {
                    if (calitate == "PARAT" || calitate == "TERT")
                    {
                        if (p.ID_DOSAR == null || (p.ID_DOSAR != null && d.ID_SOCIETATE_CASCO == null))
                        {
                            if (Proces.ID_RECLAMANT == null)
                            {
                                if (!String.IsNullOrWhiteSpace(procesJson.Reclamant))
                                {
                                    Parte reclamant = new Parte(_CURENT_USER_ID, conStr);
                                    reclamant.DENUMIRE = procesJson.Reclamant;
                                    toReturn           = reclamant.Insert();
                                    if (toReturn.Status)
                                    {
                                        //p.ID_RECLAMANT = toReturn.InsertedId;
                                        Proces.ID_RECLAMANT = toReturn.InsertedId;
                                    }
                                }
                            }
                            else
                            {
                                dynamic initReclamant = p.GetReclamant(_ID_SOCIETATE).Result;
                                if (!String.IsNullOrWhiteSpace(procesJson.Reclamant))
                                {
                                    if (!String.IsNullOrWhiteSpace(procesJson.Reclamant) && initReclamant.DENUMIRE != procesJson.Reclamant)
                                    {
                                        initReclamant.DENUMIRE = procesJson.Reclamant;
                                        toReturn = initReclamant.Update();
                                    }
                                }
                                else
                                {
                                    toReturn = initReclamant.Delete();
                                    if (toReturn.Status)
                                    {
                                        //p.ID_RECLAMANT = null;
                                        Proces.ID_RECLAMANT = null;
                                    }
                                }
                            }
                        }
                    }
                    if (calitate == "RECLAMANT" || calitate == "TERT")
                    {
                        if (p.ID_DOSAR == null || (p.ID_DOSAR != null && d.ID_SOCIETATE_RCA == null))
                        {
                            if (Proces.ID_PARAT == null)
                            {
                                if (!String.IsNullOrWhiteSpace(procesJson.Parat))
                                {
                                    Parte parat = new Parte(_CURENT_USER_ID, conStr);
                                    parat.DENUMIRE = procesJson.Reclamant;
                                    toReturn       = parat.Insert();
                                    if (toReturn.Status)
                                    {
                                        //p.ID_PARAT = toReturn.InsertedId;
                                        Proces.ID_PARAT = toReturn.InsertedId;
                                    }
                                }
                            }
                            else
                            {
                                dynamic initParat = p.GetParat(_ID_SOCIETATE).Result;
                                if (!String.IsNullOrWhiteSpace(procesJson.Parat))
                                {
                                    if (!String.IsNullOrWhiteSpace(procesJson.Parat) && initParat.DENUMIRE != procesJson.Parat)
                                    {
                                        initParat.DENUMIRE = procesJson.Parat;
                                        toReturn           = initParat.Update();
                                    }
                                }
                                else
                                {
                                    toReturn = initParat.Delete();
                                    if (toReturn.Status)
                                    {
                                        //p.ID_PARAT = null;
                                        Proces.ID_PARAT = null;
                                    }
                                }
                            }
                        }
                    }
                    if (calitate != "TERT")
                    {
                        if (Proces.ID_TERT == null)
                        {
                            if (!String.IsNullOrWhiteSpace(procesJson.Tert))
                            {
                                Parte tert = new Parte(_CURENT_USER_ID, conStr);
                                tert.DENUMIRE = procesJson.Tert;
                                toReturn      = tert.Insert();
                                if (toReturn.Status)
                                {
                                    //p.ID_TERT = toReturn.InsertedId;
                                    Proces.ID_TERT = toReturn.InsertedId;
                                }
                            }
                        }
                        else
                        {
                            dynamic initTert = p.GetTert(_ID_SOCIETATE).Result;
                            if (!String.IsNullOrWhiteSpace(procesJson.Tert))
                            {
                                if (!String.IsNullOrWhiteSpace(procesJson.Tert) && initTert.DENUMIRE != procesJson.Tert)
                                {
                                    initTert.DENUMIRE = procesJson.Tert;
                                    toReturn          = initTert.Update();
                                }
                            }
                            else
                            {
                                toReturn = initTert.Delete();
                                if (toReturn.Status)
                                {
                                    //p.ID_TERT = null;
                                    Proces.ID_TERT = null;
                                }
                            }
                        }
                    }
                }
                if (toReturn.Status)
                {
                    string s = JsonConvert.SerializeObject(Proces, Formatting.None, new Newtonsoft.Json.Converters.IsoDateTimeConverter()
                    {
                        DateTimeFormat = CommonFunctions.DATE_FORMAT
                    });
                    toReturn = p.Update(s);
                }
            }
            return(Json(toReturn, JsonRequestBehavior.AllowGet));
        }
예제 #22
0
파일: Main.cs 프로젝트: Meolax/Executer
 private void UpdateRowFromProces(DataGridViewRow row, Proces proces)
 {
     row.Cells["WaitingTime"].Value = proces.WaitTime;
     row.Cells["ExectTime"].Value   = proces.ExectTime;
     DrawDiagramProces(proces);
 }
예제 #23
0
        //public void ExportProceseToExcel(ProcesView ProcesView)
        public void ExportProceseToExcelOld(Proces Proces, ProcesJson procesJson)
        {
            string conStr          = Session["conStr"].ToString(); //ConfigurationManager.ConnectionStrings["MySQLConnectionString"].ConnectionString;
            int    _CURENT_USER_ID = Convert.ToInt32(Session["CURENT_USER_ID"]);

            //string jsonFilter = JsonConvert.SerializeObject(DosarView);

            /*
             * JObject f = (JObject)JsonConvert.DeserializeObject(Request.Form[0]);
             * response r = GetFiltered(f);
             */
            response r = GetFiltered(JToken.FromObject(Proces), JToken.FromObject(procesJson));

            ProcesExtended[] procese = (ProcesExtended[])r.Result;

            //DataTable table = (DataTable)JsonConvert.DeserializeObject(JsonConvert.SerializeObject(procese, Formatting.None, new Newtonsoft.Json.Converters.IsoDateTimeConverter() { DateTimeFormat = CommonFunctions.DATE_FORMAT }), (typeof(DataTable)));

            Proces p = new Proces();

            PropertyInfo[] pis       = p.GetType().GetProperties();
            DataTable      proceseDt = new DataTable("Procese");

            foreach (PropertyInfo pi in pis)
            {
                DataColumn dc = new DataColumn(pi.Name, Type.GetType("System.String"));
                proceseDt.Columns.Add(dc);
            }
            proceseDt.AcceptChanges();
            foreach (ProcesExtended pe in procese)
            {
                DataRow dr = proceseDt.NewRow();
                pis = pe.Proces.GetType().GetProperties();
                foreach (PropertyInfo pi in pis)
                {
                    try
                    {
                        dr[pi.Name] = pi.GetValue(pe.Proces) == null ? null : pi.GetValue(pe.Proces).ToString();
                    }
                    catch { dr[pi.Name] = null; }
                }
                proceseDt.Rows.Add(dr);
            }
            proceseDt.AcceptChanges();

            /*
             * List<string> columns_to_remove = new List<string>();
             * foreach (DataColumn dc in proceseDt.Columns)
             * {
             *  if (
             *      !dc.ColumnName.ToLower().Equals("id") &&
             *      !dc.ColumnName.ToLower().Contains("nr_dosar_casco") &&
             *      !dc.ColumnName.ToLower().Contains("nr_sca") &&
             *      !dc.ColumnName.ToLower().Contains("data_sca") &&
             *      !dc.ColumnName.ToLower().Contains("nr_polita_casco") &&
             *      !dc.ColumnName.ToLower().Contains("nr_auto_casco") &&
             *      !dc.ColumnName.ToLower().Contains("nr_polita_rca") &&
             *      !dc.ColumnName.ToLower().Contains("nr_auto_rca") &&
             *      !dc.ColumnName.ToLower().Contains("data_eveniment") &&
             *      !dc.ColumnName.ToLower().Contains("valoare_regres") &&
             *      !dc.ColumnName.ToLower().Contains("data_avizare")
             *  )
             *  {
             *      columns_to_remove.Add(dc.ColumnName);
             *  }
             * }
             * foreach (string col_name in columns_to_remove)
             * {
             *  proceseDt.Columns.Remove(col_name);
             * }
             */

            /*
             * DataColumn newdc = new DataColumn("ASIGURAT_CASCO", Type.GetType("System.String"));
             * table.Columns.Add(newdc);
             * newdc = new DataColumn("ASIGURATOR_RCA", Type.GetType("System.String"));
             * table.Columns.Add(newdc);
             * table.AcceptChanges();
             *
             * foreach (DataRow drow in table.Rows)
             * {
             *  try
             *  {
             *      Dosar dosar = new Dosar(_CURENT_USER_ID, conStr, Convert.ToInt32(drow["ID"]));
             *      Asigurat aCasco = (Asigurat)dosar.GetAsiguratCasco().Result;
             *      drow["ASIGURAT_CASCO"] = aCasco.DENUMIRE;
             *      SocietateAsigurare sRca = (SocietateAsigurare)dosar.GetSocietateRca().Result;
             *      drow["ASIGURATOR_RCA"] = sRca.DENUMIRE;
             *  }
             *  catch (Exception exp) { LogWriter.Log(exp); }
             * }
             */
            proceseDt.AcceptChanges();

            using (ExcelPackage pack = new ExcelPackage())
            {
                ExcelWorksheet ws = pack.Workbook.Worksheets.Add("Procese");
                ws.Cells["A1"].LoadFromDataTable(proceseDt, true);
                var ms = new System.IO.MemoryStream();
                pack.SaveAs(ms);
                Response.BinaryWrite(ms.GetBuffer());
            }
        }