示例#1
0
        public int addSmmToDbAndSaveContentOnDisk(SMM[] smmArr)
        {
            SelfEmploymentReceipts selfEmployment;

            using (DatabaseContext databaseContext = new DatabaseContext())
            {
                foreach (var smm in smmArr)
                {
                    selfEmployment = new SelfEmploymentReceipts();

                    selfEmployment.smmID         = smm.ID;
                    selfEmployment.uuid          = smm.UUID;
                    selfEmployment.customerTitle = smm.HEADER.CUSTOMER.NAME;
                    selfEmployment.customerID    = smm.HEADER.CUSTOMER.IDENTIFIER;
                    selfEmployment.profileID     = smm.HEADER.PROFILE_ID.ToString();
                    selfEmployment.status        = smm.HEADER.STATUS;
                    selfEmployment.statusCode    = smm.HEADER.STATUS_CODE;
                    selfEmployment.statusDesc    = smm.HEADER.STATUS_DESCRIPTION;
                    selfEmployment.cDate         = smm.HEADER.CDATE;
                    selfEmployment.issueDate     = smm.HEADER.ISSUE_DATE;
                    selfEmployment.email         = smm.HEADER.EMAIL != null?smm.HEADER.EMAIL.First() : null;

                    selfEmployment.emailStatusCode = smm.HEADER.EMAIL_STATUS_CODE;
                    selfEmployment.folderPath      = FolderControl.smmFolderPath + smm.ID + "." + nameof(EI.DocumentType.XML);

                    FolderControl.writeFileOnDiskWithString(Encoding.UTF8.GetString(Compress.UncompressFile(smm.CONTENT.Value)), selfEmployment.folderPath);

                    databaseContext.selfEmployments.Add(selfEmployment);
                }
                return(databaseContext.SaveChanges());
            }
        }
示例#2
0
        public int addDespatchFromServiceAndSaveContentOnDisk(DESPATCHADVICE[] despatchArr, string direction)
        {
            DespatchAdvices despatchAdvice;

            using (DatabaseContext databaseContext = new DatabaseContext())
            {
                foreach (var despatch in despatchArr)
                {
                    despatchAdvice = new DespatchAdvices();

                    despatchAdvice.ID                   = despatch.ID;
                    despatchAdvice.uuid                 = despatch.UUID;
                    despatchAdvice.direction            = direction;
                    despatchAdvice.issueDate            = Convert.ToDateTime(despatch.DESPATCHADVICEHEADER.ISSUE_DATE);
                    despatchAdvice.profileId            = despatch.DESPATCHADVICEHEADER.PROFILEID;
                    despatchAdvice.senderVkn            = despatch.DESPATCHADVICEHEADER.SENDER.VKN;
                    despatchAdvice.cDate                = despatch.DESPATCHADVICEHEADER.CDATE;
                    despatchAdvice.envelopeIdentifier   = despatch.DESPATCHADVICEHEADER.ENVELOPE_IDENTIFIER;
                    despatchAdvice.status               = despatch.DESPATCHADVICEHEADER.STATUS;
                    despatchAdvice.gibStatusCode        = despatch.DESPATCHADVICEHEADER.GIB_STATUS_CODE;
                    despatchAdvice.gibStatusDescription = despatch.DESPATCHADVICEHEADER.GIB_STATUS_DESCRIPTION;
                    despatchAdvice.folderPath           = FolderControl.createDespatchDocPath(despatch.ID, direction, nameof(EI.DocumentType.XML));
                    despatchAdvice.issueTime            = despatch.DESPATCHADVICEHEADER.ISSUE_TIME;
                    despatchAdvice.shipmentDate         = despatch.DESPATCHADVICEHEADER.ACTUAL_SHIPMENT_DATE;
                    despatchAdvice.shipmentTime         = despatch.DESPATCHADVICEHEADER.ACTUAL_SHIPMENT_TIME;
                    despatchAdvice.typeCode             = despatch.DESPATCHADVICEHEADER.TYPE_CODE;
                    despatchAdvice.statusCode           = despatch.DESPATCHADVICEHEADER.STATUS_CODE;

                    FolderControl.writeFileOnDiskWithString(Encoding.UTF8.GetString(Compress.UncompressFile(despatch.CONTENT.Value)), despatchAdvice.folderPath);

                    databaseContext.despatchAdvices.Add(despatchAdvice);
                }
                return(databaseContext.SaveChanges());
            }
        }
示例#3
0
        public int addCreditNoteToDbAndSaveContentOnDisk(CREDITNOTE[] creditNoteArr, string isDraft)
        {
            CreditNotes CreditNote;

            using (DatabaseContext databaseContext = new DatabaseContext())
            {
                foreach (var creditNotes in creditNoteArr)
                {
                    CreditNote = new CreditNotes();
                    CreditNote.CreditNoteID       = creditNotes.ID;
                    CreditNote.uuid               = creditNotes.UUID;
                    CreditNote.customerTitle      = creditNotes.HEADER.CUSTOMER.NAME;
                    CreditNote.customerIdentifier = creditNotes.HEADER.CUSTOMER.IDENTIFIER;
                    CreditNote.profileID          = creditNotes.HEADER.PROFILE_ID.ToString();
                    CreditNote.status             = creditNotes.HEADER.STATUS;
                    CreditNote.statusCode         = creditNotes.HEADER.STATUS_CODE;
                    CreditNote.statusDesc         = creditNotes.HEADER.STATUS_DESCRIPTION;
                    CreditNote.cDate              = creditNotes.HEADER.CDATE;
                    CreditNote.issueDate          = creditNotes.HEADER.ISSUE_DATE;
                    CreditNote.email              = creditNotes.HEADER.EMAIL != null?creditNotes.HEADER.EMAIL.First() : null;

                    CreditNote.emailStatusCode = creditNotes.HEADER.EMAIL_STATUS_CODE;
                    CreditNote.isDraft         = isDraft;
                    CreditNote.folderPath      = FolderControl.CreditNoteFolderPath + CreditNote.CreditNoteID + "." + nameof(EI.DocumentType.XML);

                    FolderControl.writeFileOnDiskWithString(Encoding.UTF8.GetString(Compress.UncompressFile(creditNotes.CONTENT.Value)), CreditNote.folderPath);

                    databaseContext.creditNotes.Add(CreditNote);
                }

                return(databaseContext.SaveChanges());
            }
        }
示例#4
0
        private void btnGetSingedXml_Click(object sender, EventArgs e)
        {
            try
            {
                List <string> listReportNoSucc = new List <string>();

                foreach (DataGridViewRow row in tableArchiveGrid.SelectedRows)
                {
                    string reportNo = row.Cells[nameof(EI.ArchiveReports.reportNo)].Value.ToString();

                    string signedXmlContent = Singl.archiveControllerGet.getArchiveReportXml(reportNo);
                    if (signedXmlContent != null)
                    {
                        //contentı dıske yazdır
                        FolderControl.writeFileOnDiskWithString(signedXmlContent, FolderControl.inboxFolderArchiveReport + reportNo + "." + nameof(EI.DocumentType.XML));
                        listReportNoSucc.Add(row.Cells[nameof(EI.ArchiveReports.reportNo)].Value.ToString());
                    }
                }

                if (listReportNoSucc.Count > 0)
                {
                    MessageBox.Show(string.Join(Environment.NewLine, listReportNoSucc) + Environment.NewLine + Lang.hasIdArchiveReportSave);//"secılı arsıv raporları basarıyla kaydedıldı"
                }
                else
                {
                    MessageBox.Show(Lang.operationFailed);//"islem basarısız"
                }
            }
            catch (FaultException <REQUEST_ERRORType> ex)
            {
                if (ex.Detail.ERROR_CODE == 2005)
                {
                    Singl.authControllerGet.Login(FrmLogin.usurname, FrmLogin.password);
                }
                MessageBox.Show(ex.Detail.ERROR_SHORT_DES, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException ex)
            {
                MessageBox.Show(Lang.dbFault + " " + ex.InnerException.Message.ToString(), "DataBaseFault", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (System.Data.DataException ex)
            {
                MessageBox.Show(ex.InnerException.Message.ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
        }
        private void getXmlDespatch()
        {
            try
            {
                List <string> idList = new List <string>();

                foreach (DataGridViewRow row in tableGrid.SelectedRows)
                {
                    string content = Singl.despatchControllerGet.getDespatchXmlContentFromService(row.Cells[nameof(EI.Despatch.uuid)].Value.ToString(), despactDirection);
                    if (content != null)
                    {
                        FolderControl.writeFileOnDiskWithString(content, row.Cells[nameof(EI.Despatch.folderPath)].Value.ToString());
                        idList.Add(row.Cells[nameof(EI.Despatch.ID)].Value.ToString());
                    }
                }

                if (idList.Count > 0)
                {
                    MessageBox.Show(string.Join(Environment.NewLine, idList) + Environment.NewLine + "Kaydedildi");//Seçili arsivler getirilemedi
                }
                else
                {
                    MessageBox.Show("işlem Basarısız", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (FaultException <REQUEST_ERRORType> ex)
            {
                if (ex.Detail.ERROR_CODE == 2005)
                {
                    Singl.authControllerGet.Login(FrmLogin.usurname, FrmLogin.password);
                }
                MessageBox.Show(ex.Detail.ERROR_SHORT_DES, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException ex)
            {
                MessageBox.Show(Lang.dbFault + " " + ex.InnerException.Message.ToString(), "DataBaseFault", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (System.Data.DataException ex)
            {
                MessageBox.Show(ex.InnerException.Message.ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
        }
示例#6
0
        public int addInvoiceToDbAndSaveContentOnDisk(INVOICE[] invoiceArray, string direction)
        {
            using (DatabaseContext dbContext = new DatabaseContext())
            {
                Invoices invoice;
                foreach (var inv in invoiceArray)
                {
                    invoice = new Invoices();

                    invoice.ID                   = inv.ID;
                    invoice.uuid                 = inv.UUID;
                    invoice.direction            = direction;
                    invoice.issueDate            = inv.HEADER.ISSUE_DATE;
                    invoice.profileId            = inv.HEADER.PROFILEID;
                    invoice.invoiceType          = inv.HEADER.INVOICE_TYPE_CODE;
                    invoice.suplier              = inv.HEADER.SUPPLIER;
                    invoice.senderVkn            = inv.HEADER.SENDER;
                    invoice.receiverVkn          = inv.HEADER.RECEIVER;
                    invoice.cDate                = inv.HEADER.CDATE;
                    invoice.envelopeIdentifier   = inv.HEADER.ENVELOPE_IDENTIFIER;
                    invoice.status               = inv.HEADER.STATUS;
                    invoice.gibStatusCode        = inv.HEADER.GIB_STATUS_CODE;
                    invoice.gibStatusDescription = inv.HEADER.GIB_STATUS_DESCRIPTION;
                    invoice.senderAlias          = inv.HEADER.FROM;
                    invoice.receiverAlias        = inv.HEADER.TO;
                    invoice.folderPath           = FolderControl.createInvoiceDocPath(inv.ID, direction, nameof(EI.DocumentType.XML));

                    byte[] unCompressedContent = Compress.UncompressFile(inv.CONTENT.Value);
                    FolderControl.writeFileOnDiskWithString(Encoding.UTF8.GetString(unCompressedContent), invoice.folderPath);

                    if (direction == nameof(EI.Direction.DRAFT))
                    {
                        invoice.draftFlag = EI.ActiveOrPasive.Y.ToString();  //servisten cektıklerımız flag Y  ☺
                    }

                    dbContext.invoices.Add(invoice);
                }
                var i = dbContext.SaveChanges();
                return(i);
            }
        }
示例#7
0
        public int addArchiveToDbAndSaveContentOnDisk(EARCHIVEINV[] archiveArr)
        {
            ArchiveInvoices archive;

            using (DatabaseContext databaseContext = new DatabaseContext())
            {
                foreach (var arc in archiveArr)
                {
                    archive = new ArchiveInvoices();

                    //bu row uuid degerı dbye daha once eklenmemısse
                    if (databaseContext.archiveInvoices.Find(archive.uuid) == null)
                    {
                        archive.ID           = arc.HEADER.INVOICE_ID;
                        archive.uuid         = arc.HEADER.UUID;
                        archive.totalAmount  = Convert.ToDecimal(arc.HEADER.PAYABLE_AMOUNT);
                        archive.issueDate    = Convert.ToDateTime(arc.HEADER.ISSUE_DATE);
                        archive.profileId    = arc.HEADER.PROFILE_ID;
                        archive.invoiceType  = arc.HEADER.INVOICE_TYPE;
                        archive.sendingType  = arc.HEADER.SENDING_TYPE;
                        archive.eArchiveType = arc.HEADER.EARCHIVE_TYPE;
                        archive.senderName   = arc.HEADER.SENDER_NAME;
                        archive.senderVkn    = arc.HEADER.SENDER_IDENTIFIER;
                        archive.receiverVkn  = arc.HEADER.CUSTOMER_IDENTIFIER;
                        archive.status       = arc.HEADER.STATUS;
                        archive.statusCode   = arc.HEADER.STATUS_CODE;
                        archive.currencyCode = arc.HEADER.CURRENCY_CODE;
                        archive.folderPath   = FolderControl.inboxFolderArchive + archive.ID + "." + nameof(EI.DocumentType.XML);

                        FolderControl.writeFileOnDiskWithString(Encoding.UTF8.GetString(Compress.UncompressFile(arc.CONTENT.Value)), archive.folderPath);



                        databaseContext.archiveInvoices.Add(archive);
                    }
                }
                return(databaseContext.SaveChanges());
            }
        }
示例#8
0
        private void btnSendDraftArchive_Click(object sender, EventArgs e)
        {
            try
            {
                //db den getırılen serı Namelerı comboboxda sectır
                FrmDialogSelectItem frmDialogSelectSeriName = new FrmDialogSelectItem(true, "");
                if (frmDialogSelectSeriName.ShowDialog() == DialogResult.OK)
                {
                    ArchiveContentPropertiesModel[] archiveModelArr = new ArchiveContentPropertiesModel[tableArchiveGrid.SelectedRows.Count];
                    string   seriName = frmDialogSelectSeriName.selectedValue;
                    string[] newIdArr = InvoiceIdSetSerilaze.createNewInvId(seriName, tableArchiveGrid.SelectedRows.Count);


                    for (int cnt = 0; cnt < tableArchiveGrid.SelectedRows.Count; cnt++)
                    {
                        ArchiveContentPropertiesModel archiveContentPropertiesModel = new ArchiveContentPropertiesModel();

                        archiveContentPropertiesModel.uuid = tableArchiveGrid.SelectedRows[cnt].Cells[nameof(EI.Invoice.uuid)].Value.ToString();

                        archiveContentPropertiesModel.archiveType = tableArchiveGrid.SelectedRows[cnt].Cells[nameof(EI.Invoice.eArchiveType)].Value.ToString();

                        //alınan contenttın ıdsını degıstırerek koy
                        string content = Singl.archiveControllerGet.getArchiveContentXml(archiveContentPropertiesModel.uuid);
                        archiveContentPropertiesModel.content = XmlControl.xmlInvoiceChangeIdValue(content, newIdArr[cnt]);

                        if (tableArchiveGrid.SelectedRows[cnt].Cells[nameof(EI.Invoice.receiverMail)].Value != null) //mail gonderılmek ısstenıyorsa
                        {
                            archiveContentPropertiesModel.mail = tableArchiveGrid.SelectedRows[cnt].Cells[nameof(EI.Invoice.receiverMail)].Value.ToString();
                        }

                        Singl.archiveControllerGet.addContentPropertiesToList(archiveContentPropertiesModel);

                        archiveModelArr[cnt] = archiveContentPropertiesModel;
                    }

                    string responseErrorMessage = Singl.archiveControllerGet.sendEarchive();
                    if (responseErrorMessage != null)
                    {
                        MessageBox.Show(responseErrorMessage, Lang.operationFailed, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        //db de fatura durumunu taslaktan cıkar
                        for (int cnt = 0; cnt < archiveModelArr.Length; cnt++)
                        {
                            string oldFolderPath = Singl.archiveInvoiceDalGet.findArchive(archiveModelArr[cnt].uuid).folderPath;

                            //path degıstır
                            string newFolderPath = FolderControl.inboxFolderArchive + newIdArr[cnt] + "." + nameof(EI.DocumentType.XML);

                            //guncelleme basarılıysa
                            if (Singl.archiveInvoiceDalGet.updateArchiveIdStateNoteDraftFlagFolderPath(archiveModelArr[cnt].uuid,
                                                                                                       newIdArr[cnt], EI.StateNote.SEND.ToString(), false, newFolderPath) == 1)
                            {
                                //diskten xmli sil
                                FolderControl.deleteFileFromPath(oldFolderPath);

                                //yenı kontentı dıske kaydet
                                FolderControl.writeFileOnDiskWithString(archiveModelArr[cnt].content, newFolderPath);
                            }
                            else
                            {
                                MessageBox.Show("Db ye kaydetme işlemi basarısız,İşlemi tekrar gerceklestırınız" + tableArchiveGrid.SelectedRows[cnt].Cells[nameof(EI.Invoice.ID)].Value.ToString());
                                return;
                            }
                        }

                        //db ye, en son olusturulan yenı ınv id serisinin son itemi ıle serı no ve yıl guncelle
                        Singl.invIdSerilazeDalGet.updateLastAddedInvIdSeri(newIdArr.Last());

                        MessageBox.Show(Lang.succesful);//"Başarılı"
                        gridArchiveUpdateList(Singl.archiveInvoiceDalGet.getArchiveList(true));
                    }
                }
            }
            catch (FaultException <REQUEST_ERRORType> ex)
            {
                if (ex.Detail.ERROR_CODE == 2005)
                {
                    Singl.authControllerGet.Login(FrmLogin.usurname, FrmLogin.password);
                }
                MessageBox.Show(ex.Detail.ERROR_SHORT_DES, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException ex)
            {
                MessageBox.Show(Lang.dbFault + " " + ex.InnerException.Message.ToString(), "DataBaseFault", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (System.Data.DataException ex)
            {
                MessageBox.Show(ex.InnerException.Message.ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
        }
        private void btnSendDespatch_Click(object sender, EventArgs e)
        {
            try
            {
                bool valid = true;


                //aynı kısıye gıdecek faturalar secılı mı kontrolu
                string receiverVkn = tableGrid.SelectedRows[0].Cells[nameof(EI.Despatch.receiverVkn)].Value.ToString();
                foreach (DataGridViewRow row in tableGrid.SelectedRows)
                {
                    if (row.Cells[nameof(EI.Despatch.receiverVkn)].Value != null && row.Cells[nameof(EI.Despatch.receiverVkn)].Value.ToString() != receiverVkn) //vkn farklı ıse
                    {
                        MessageBox.Show(Lang.selectOnePerson);                                                                                                  //sadece aynı kısıye olan faturaları bırlıkte gonderebılırsınız
                        valid = false; break;
                    }
                }

                if (valid) //uymayan irsaliye durumu yoksa
                {
                    //db den getırılen serı Namelerı comboboxda sectır
                    FrmDialogSelectItem frmDialogSelectSeriName = new FrmDialogSelectItem(true, "");
                    if (frmDialogSelectSeriName.ShowDialog() == DialogResult.OK)
                    {
                        FrmDialogSelectItem frmDialogIdSelectAlias = new FrmDialogSelectItem(false, receiverVkn);
                        ////gb  sectır
                        if (frmDialogIdSelectAlias.ShowDialog() == DialogResult.OK)
                        {
                            IdArrContentArrModel ıdContentModel = createInvListWithNewId(frmDialogSelectSeriName.selectedValue);

                            //send despatch
                            string errorMessage = Singl.despatchControllerGet.sendDespatch(frmDialogIdSelectAlias.selectedValue, receiverVkn);
                            if (errorMessage != null)
                            {
                                MessageBox.Show(errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            }
                            else
                            {
                                for (int cnt = 0; cnt < tableGrid.SelectedRows.Count; cnt++)
                                {
                                    string uuidRow = tableGrid.SelectedRows[cnt].Cells[nameof(EI.Despatch.uuid)].Value.ToString();

                                    string oldFolderPath = Singl.DespatchAdviceDalGet.getDespatch(uuidRow, nameof(EI.Direction.DRAFT)).folderPath;

                                    //yenı folderpath olustur
                                    string newFolderPath = FolderControl.createDespatchDocPath(ıdContentModel.newIdArr[cnt], nameof(EI.Direction.OUT),
                                                                                               nameof(EI.DocumentType.XML)); // yenı path db ye yazılır



                                    //db de yenı id,direction,folderpath,statenote guncellenır
                                    if (Singl.DespatchAdviceDalGet.updateDespatchIdDirectionFolderPathStateNote(uuidRow, nameof(EI.Direction.DRAFT),
                                                                                                                ıdContentModel.newIdArr[cnt], nameof(EI.Direction.OUT), newFolderPath, nameof(EI.StatusType.SEND)) == 1)
                                    {
                                        //eskı folderPathdekı dosyayı konumdan sıler
                                        FolderControl.deleteFileFromPath(oldFolderPath);

                                        //yenı folderpath ile yenı id eklenmıs xmli diske kaydet
                                        FolderControl.writeFileOnDiskWithString(ıdContentModel.newXmlContentArr[cnt], newFolderPath);
                                    }
                                    else
                                    {
                                        MessageBox.Show("Güncel bilgileri Db ye kaydetme işlemi basarısız,İşlemi tekrar gerceklestırınız" + tableGrid.SelectedRows[cnt].Cells[nameof(EI.Invoice.ID)].Value.ToString());
                                        return;
                                    }
                                }

                                //db ye, en son olusturulan yenı ınv id serisinin son itemi ıle serı no ve yıl guncelle
                                Singl.invIdSerilazeDalGet.updateLastAddedInvIdSeri(ıdContentModel.newIdArr.Last());

                                //datagrıd listesini guncelle
                                gridUpdateDespatchList(Singl.DespatchAdviceDalGet.getDespatchList(despactDirection));

                                MessageBox.Show(Lang.succesful);//"basarılı"
                            }
                        }
                        frmDialogIdSelectAlias.Dispose();
                    }
                    frmDialogSelectSeriName.Dispose();
                }
            }


            catch (FaultException <REQUEST_ERRORType> ex)
            {
                if (ex.Detail.ERROR_CODE == 2005)
                {
                    Singl.authControllerGet.Login(FrmLogin.usurname, FrmLogin.password);
                }
                MessageBox.Show(Lang.operationFailed + ex.Detail.ERROR_SHORT_DES, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error); //işlem basarısız
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException)
            {
                MessageBox.Show(Lang.dbFault, "DataBaseFault", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        private void btnLoadDespatch_Click(object sender, EventArgs e)
        {
            try
            {
                //db den getırılen serı Namelerı comboboxda sectır
                FrmDialogSelectItem frmDialogIdSeriName = new FrmDialogSelectItem(true, "");
                if (frmDialogIdSeriName.ShowDialog() == DialogResult.OK)
                {
                    IdArrContentArrModel idArrContentArrModel = createInvListWithNewId(frmDialogIdSeriName.selectedValue); //load ınvda  direction degıstırmıyoruz o yuzden false

                    if (idArrContentArrModel != null)
                    {
                        string errorMessage = Singl.despatchControllerGet.loadDespatchToService();

                        if (errorMessage != null) //  basarısızsa
                        {
                            MessageBox.Show(errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        else //servıse yukleme ıslemı basarılıysa
                        {
                            for (int cnt = 0; cnt < tableGrid.SelectedRows.Count; cnt++)
                            {
                                string uuidRow = tableGrid.SelectedRows[cnt].Cells[nameof(EI.Invoice.uuid)].Value.ToString();

                                //yenı ıd ile yenı folderpath olustur
                                string newFolderPath = FolderControl.createDespatchDocPath(idArrContentArrModel.newIdArr[cnt], nameof(EI.Direction.DRAFT), nameof(EI.DocumentType.XML));

                                string oldFolderPath = Singl.DespatchAdviceDalGet.getDespatch(uuidRow, nameof(EI.Direction.DRAFT)).folderPath;


                                //db verileri guncelle
                                if (Singl.DespatchAdviceDalGet.updateDespatchIdCdateStatusGibCodeStateNoteFolderPath(uuidRow, nameof(EI.Direction.DRAFT),
                                                                                                                     idArrContentArrModel.newIdArr[cnt], DateTime.Now, nameof(EI.StatusType.LOAD) + " - " + nameof(EI.SubStatusType.SUCCEED),
                                                                                                                     -1, nameof(EI.StatusType.LOAD), newFolderPath) == 1)
                                {
                                    //yenı olust. folderpath ıle xml ı dıske kaydet
                                    FolderControl.writeFileOnDiskWithString(idArrContentArrModel.newXmlContentArr[cnt], newFolderPath);

                                    //eskı folderPathdekı dosyayı konumdan sıler
                                    FolderControl.deleteFileFromPath(oldFolderPath);
                                }
                                else
                                {
                                    MessageBox.Show("Güncel bilgileri Db ye kaydetme işlemi basarısız,İşlemi tekrar gerceklestırınız" + tableGrid.SelectedRows[cnt].Cells[nameof(EI.Despatch.ID)].Value.ToString());
                                    return;
                                }
                            }

                            //db ye, en son olusturulan yenı ınv id serisinin son itemi ıle serı no ve yıl guncelle
                            Singl.invIdSerilazeDalGet.updateLastAddedInvIdSeri(idArrContentArrModel.newIdArr.Last());

                            // db den cekılen taslak faturaları datagrıdde listele
                            gridUpdateDespatchList(Singl.DespatchAdviceDalGet.getDespatchList(nameof(EI.Direction.DRAFT)));

                            MessageBox.Show(Lang.successLoad);//"yukleme basarılı"
                        }
                    }
                    frmDialogIdSeriName.Dispose();
                }
            }
            catch (FaultException <REQUEST_ERRORType> ex)
            {
                if (ex.Detail.ERROR_CODE == 2005)
                {
                    Singl.authControllerGet.Login(FrmLogin.usurname, FrmLogin.password);
                }
                MessageBox.Show(ex.Detail.ERROR_SHORT_DES, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException)
            {
                MessageBox.Show(Lang.dbFault, "DataBaseFault", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message.ToString());
            }
        }