コード例 #1
0
        private void ProcessCreditNote()
        {
            CreditNote.DocTotal = Total;
            //CreditNote.SeriesTitle = SelectedSerie.SeriesName + " " + SelectedSerie.Remark;
            CreditNote.RPC1_SupplierCreditNoteDetail = CreditNoteDetailsCollection.ToList();

            if (CreditNote.IdSupplierCreditNote > 0)
            {
                CreditNote.HasToBeSync   = true;
                CreditNote.ModifiedDateL = DateTime.Now;
                CreditNote.ModifiedByL   = Config.CurrentUser;
                //CreditNote.StateL = LocalStatus.Pendiente;
                SaveChanges();//SupplierCreditNoteHelper.Update();
                RaisePropertyChanged("CreditNotesCollection");
            }
            else
            {
                FillData();
                //CreditNote.StateL = LocalStatus.Pendiente;
                SupplierCreditNoteHelper.Add(CreditNote);
                // CreditNotesCollection.Add(CreditNote);
            }

            ViewModelManager.CloseModal();

            if (CreditNote.IdSupplierCreditNote == 0)
            {
                MessageBox.Show(
                    "La Nota de Crédito esta en proceso, por favor seleccione la pestaña NOTAS DE CRÉDITO para ver el detalle");
            }
        }
コード例 #2
0
        private static void GetCreditNotesFromServe(LOG_CHANGES changeset)
        {
            var note = WebApiClient.GetCreditNotes(changeset.ListVal).Result;

            if (note == null)
            {
                return;
            }
            note.StateL = LocalStatus.Procesado;

            var db = ContextFactory.GetDBContext();

            var id = Convert.ToInt32(changeset.ListVal);

            var localId = db.ORPC_SupplierCreditNotes.Include(c => c.RPC1_SupplierCreditNoteDetail)
                          .FirstOrDefault(c => c.IdSupplierCreditNote == changeset.IdL.Value);

            var localDE = db.ORPC_SupplierCreditNotes.Include(c => c.RPC1_SupplierCreditNoteDetail)
                          .FirstOrDefault(c => c.DocEntry == id);

            if (changeset.IdL.HasValue) // C1
            {
                if (localId == null)    // C3
                {
                    db.ORPC_SupplierCreditNotes.Add(note);
                    SupplierCreditNoteHelper.SaveTransaction(note);
                }
                else
                {
                    if (localId.StateL == LocalStatus.Procesado)                     // C4
                    {
                        if (localDE == null || localDE.DocEntry != localId.DocEntry) // C5
                        {
                            db.ORPC_SupplierCreditNotes.Add(note);
                            SupplierCreditNoteHelper.SaveTransaction(note);
                        }
                        else
                        {
                            localId.UpdateModelPropertiesFrom(note);
                        }
                    }
                    else
                    {
                        localId.UpdateModelPropertiesFrom(note);
                        SupplierCreditNoteHelper.SaveTransaction(note);
                    }
                }
            }
            else //  C2 -- El Idl no contenia un valor
            {
                if (localDE == null)
                {
                    db.ORPC_SupplierCreditNotes.Add(note);
                    SupplierCreditNoteHelper.SaveTransaction(note);
                }
            }

            //db.LOG_CHANGES.Add(changeset);
            changeset.AddChangeset();
        }
コード例 #3
0
 private void Deleting()
 {
     if (!ConfirmDelete())
     {
         return;
     }
     SupplierCreditNoteHelper.Delete(CreditNote);
     CreditNotesCollection.Remove(CreditNote);
 }
コード例 #4
0
        private static ORPC_SupplierCreditNotes SyncUpload(ORPC_SupplierCreditNotes note)
        {
            var result = WebApiClient.AddCreditNote(note).Result;

            note.UpdateModelPropertiesFrom(result.Model);
            note.StateL = LocalStatus.Procesado;
            result.UpdateEntityVersion();
            SupplierCreditNoteHelper.SaveTransaction(note);
            return(note);
        }
コード例 #5
0
 public static ORPC_SupplierCreditNotes Synchronize(ORPC_SupplierCreditNotes model)
 {
     CheckForUpdates();// Actualizar cambios antes de subir y verificar si el objeto no fue ya procesado
     model = SupplierCreditNoteHelper.Get(model.IdSupplierCreditNote);
     if (model.StateL != LocalStatus.Procesado)
     {
         return(model.Upload(SyncUpload));
     }
     else
     {
         return(model);
     }
 }