예제 #1
0
파일: Obrada.cs 프로젝트: vodolijabg/LS
        public void ExportUsluga()
        {
            StreamWriter streamWriter = null;

            string guid = Guid.NewGuid().ToString().Replace("-", "");
            int ukupanBrojRedova = 0;

            DateTime pocetak = DateTime.Now;
            TimeSpan vremeTrajanja;            

            try
            {
                konfiguracija = new Konfiguracija();
                dBProksi = new DB.DBProksi(konfiguracija.KonekcioniString);

                string imeFajla = DajImeFajlaZaExport(); 

                ObservableCollection<DB.Usluga> uslugeZaExport = dBProksi.DajUslugeZaExport(true);

                if (uslugeZaExport.Count() > 0)
                {
                    streamWriter = new StreamWriter(konfiguracija.ExportFolder + @"\" + imeFajla);

                    if (loger.IsInfoEnabled)
                    {
                        loger.Info("[" + guid + "] " + "Zapoceo export fajla " + konfiguracija.ExportFolder + @"\" + imeFajla);
                    }

                    foreach (DB.Usluga item in uslugeZaExport)
                    {
                        ukupanBrojRedova++;

                        string sifra = item.Sifra;
                        string naziv = item.VrstaUsluge.Naziv + " " + item.NosilacGrupe.Naziv + " " + item.Nivo.Naziv + " " + item.Pozicija.Naziv;
                        if (naziv.Length > 44)
                        {
                            naziv = naziv.Substring(0, 44);
                        }

                        naziv = ZameniSrpskeEngleskimKarakterima(naziv);

                        string cenaBezPDV = (item.Bod.Vrednost * item.BrojBodova).ToString("0.00", new System.Globalization.CultureInfo("en-US"));
                        string poreskaStopa = item.PoreskaStopaID.ToString();
                        string normaSati = (item.NormaMinuta / 60).ToString() + "." + (item.NormaMinuta % 60).ToString("00");

                        if (item.ZaExport)
                        {
                            dBProksi.MarkirajUsluguExportovanom(item.UslugaID);
                        }

                        streamWriter.WriteLine(sifra.PadRight(6, ' ') + "\t" + naziv.PadRight(44, ' ') + "\t" + cenaBezPDV.PadRight(14, ' ') + "\t" + poreskaStopa + "\t" + normaSati.PadRight(5, ' '));
                    }

                    vremeTrajanja = (DateTime.Now - pocetak);

                    if (loger.IsInfoEnabled)
                    {
                        loger.Info("[" + guid + "] " + "Zavrsen export fajla " + konfiguracija.ExportFolder + @"\" + imeFajla);
                        loger.Info("[" + guid + "] " + "Vreme trajanja emporta :" + vremeTrajanja);
                        loger.Info("[" + guid + "] " + "Ukupan broj redova :" + ukupanBrojRedova);
                    }

                }            

                


            }
            catch (Exception ex)
            {
                if (loger.IsErrorEnabled)
                {
                    loger.Error("[" + guid + "] " + ex.Message);

                }
            }
            finally
            {
                if (streamWriter != null)
                {
                    streamWriter.Close(); 
                }
            }
        }