public async Task <IActionResult> ApplyGraves([FromBody] ApplyGravesViewModel applyGraves)
        {
            ApplicationUser user = await userManager.GetUserAsync(HttpContext.User);

            CollectionManager.CollectionManager collectionMgr = (CollectionManager.CollectionManager) await collectionManagerFactory.Create(user.Id);

            await collectionMgr.RemoveNotes(applyGraves.Chunk.Notes);

            await collectionMgr.RemoveCards(applyGraves.Chunk.Cards);

            await collectionMgr.RemoveDecks(applyGraves.Chunk.Decks);

            /*
             *
             * Collection collection = await context.Collections
             *      .Where(c => c.User == user)
             *      .FirstOrDefaultAsync();
             *
             * List<long> gravedNoteIds = applyGraves.Chunk.Notes;
             * List<long> gravedCardIds = applyGraves.Chunk.Cards;
             * List<long> gravedDeckIds = applyGraves.Chunk.Decks;
             *
             * // Remove notes
             * var gravedNotes = context.Notes
             *  .Where(n => n.User == user && gravedNoteIds.Contains(n.Id));
             *
             * context.Notes.RemoveRange(gravedNotes);
             *
             * // Remove cards
             * var gravedCards = context.Cards
             *  .Where(c => c.User == user && gravedCardIds.Contains(c.Id));
             *
             * context.Cards.RemoveRange(gravedCards);
             *
             * // Handle deck removals by searching for the associated cards
             * // and notes for the given decks.
             * var gravedDeckCards = context.Cards
             *  .Where(c => c.User == user && gravedDeckIds.Contains(c.Id));
             *
             * var gravedDeckNoteIds = gravedDeckCards
             *  .Select(c => c.NoteId)
             *  .ToList<long>();
             *
             * var gravedDeckNotes = context.Notes
             *  .Where(n => gravedDeckNoteIds.Contains(n.Id) && n.User == user);
             *
             * context.Cards.RemoveRange(gravedDeckCards);
             * context.Notes.RemoveRange(gravedDeckNotes);
             *
             * // Save the grave records
             * context.AddRange(
             *  gravedNoteIds
             *      .Select(noteId => new Grave
             *      {
             *          User = user,
             *          UpdateSequenceNumber = collection.UpdateSequenceNumber,
             *          OriginalId = noteId,
             *          Type = GraveType.Note,
             *      })
             *  );
             *
             * context.AddRange(
             *  gravedCardIds
             *      .Select(cardId => new Grave
             *      {
             *          User = user,
             *          UpdateSequenceNumber = collection.UpdateSequenceNumber,
             *          OriginalId = cardId,
             *          Type = GraveType.Card,
             *      })
             *  );
             *
             * context.AddRange(
             *  gravedDeckIds
             *      .Select(deckId => new Grave
             *      {
             *          User = user,
             *          UpdateSequenceNumber = collection.UpdateSequenceNumber,
             *          OriginalId = deckId,
             *          Type = GraveType.Deck,
             *      })
             *  );
             *
             * context.SaveChanges();
             */

            return(Ok(new List <long>()));
        }
示例#2
0
        void sbUpdate_Click(object sender, EventArgs e)
        {
            SplashScreenManager.ShowForm(this, typeof(WaitForm1), true, true, false);

            //strname

            switch (Program.intCode)
            {
            case 13:    //Akwa Ibom state

                break;

            case 32:    //kogi state
                break;

            case 37:    //ogun state

                using (var DriveCollection = new CollectionManager.CollectionManager())
                {
                    dss = DriveCollection.CmuCollectionDownload(strTin);
                }
                break;

            case 40:    //oyo state

                break;

            default:
                break;
            }


            if (dss.Tables.Count == 0)
            {
                //looping through the return dataset

                foreach (DataRow dr in dss.Tables[0].Rows)
                {
                    //get reccord from the dataset

                    string payref = dr["PaymentRefNumber"].ToString();

                    //check it paymentref exit before in the table
                    string conn = Logic.ConfigureSettings();

                    db_con = new OleDbConnection(conn);

                    String query = String.Format("Select * from tblCollectionReport where PaymentRefNumber = '{0}' ", payref);

                    DataSet ds = new DataSet();

                    db_con.Open();

                    OleDbDataAdapter da =
                        new OleDbDataAdapter(query, conn);

                    //Fill the DataSet
                    da.Fill(ds, "tblCollectionReport");
                    db_con.Close();

                    if (ds.Tables[0].Rows.Count >= 1)
                    {
                        //record exits den do update
                        string query1 = String.Format("UPDATE tblCollectionReport SET [Provider] = '{0}',[Channel] = '{1}',[DepositSlipNumber] = '{2}' ,[PaymentDate] ='{3:MM/dd/yyyy HH:mm:ss tt}',[PayerID] = '{4}',[PayerName] = '{5}',[Amount] = '{6}',[PaymentMethod] = '{7}',[ChequeNumber] ='{8}',[ChequeValueDate] = '{9:MM/dd/yyyy HH:mm:ss tt}',[ChequeStatus] = '{10}',[DateChequeReturned] = '{11:MM/dd/yyyy HH:mm:ss tt}',[TelephoneNumber] = '{12}',[ReceiptNo] = '{13}',[ReceiptDate] = '{14:MM/dd/yyyy HH:mm:ss tt}',[PayerAddress] = '{15}',[User] ='{16}',[RevenueCode] ='{17}',[Description] = '{18}',[ChequeBankCode] ='{19}',[ChequeBankName] = '{20}',[AgencyName] = '{21}',[AgencyCode] = '{22}',[BankCode] = '{23}',[BankName] = '{24}',[BranchCode] = '{25}',[BranchName] = '{26}',[ZoneCode] = '{27}',[ZoneName] = '{27}',[Username] = '{28}',[AmountWords] = '{30}',[EReceipts] = '{31}' ,[EReceiptsDate] = '{32:MM/dd/yyyy HH:mm:ss tt}',[GeneratedBy] = '{33}' ,[StationCode] = '{34}',[StationName] = '{35}'  WHERE PaymentRefNumber = '{36}'", dr["Provider"], dr["Channel"], dr["DepositSlipNumber"], dr["PaymentDate"], dr["PayerID"], dr["PayerName"], dr["Amount"], dr["PaymentMethod"], dr["ChequeNumber"], dr["ChequeValueDate"], dr["ChequeStatus"], dr["DateChequeReturned"], dr["TelephoneNumber"], dr["ReceiptNo"], dr["ReceiptDate"], dr["PayerAddress"], dr["User"], dr["RevenueCode"], dr["Description"], dr["ChequeBankCode"], dr["ChequeBankName"], dr["AgencyName"], dr["AgencyCode"], dr["BankCode"], dr["BankName"], dr["BranchCode"], dr["BranchName"], dr["ZoneCode"], dr["ZoneName"], dr["Username"], dr["AmountWords"], dr["EReceipts"], dr["EReceiptsDate"], dr["GeneratedBy"], dr["StationCode"], dr["StationName"], dr["PaymentRefNumber"]);

                        //string conn = Logic.ConfigureSettings();

                        db_con = new OleDbConnection(conn);

                        OleDbCommand cmd = new OleDbCommand(query1, db_con);
                        cmd.ExecuteNonQuery();
                    }
                    else
                    {
                        //insert update
                        string qury = string.Format("Insert into tblCollectionReport ([Provider],[Channel] ,[DepositSlipNumber]  ,[PaymentDate] ,[PayerID] ,[PayerName] ,[Amount] ,[PaymentMethod] ,[ChequeNumber],[ChequeValueDate] ,[ChequeStatus],[DateChequeReturned] ,[TelephoneNumber] ,[ReceiptNo],[ReceiptDate],[PayerAddress] ,[User] ,[RevenueCode],[Description] ,[ChequeBankCode],[ChequeBankName],[AgencyName],[AgencyCode],[BankCode],[BankName],[BranchCode] ,[BranchName] ,[ZoneCode],[ZoneName],[Username],[AmountWords],[EReceipts] ,[EReceiptsDate] ,[GeneratedBy] ,[StationCode],[StationName,PaymentRefNumber])VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}','{23}','{24}','{25}','{26}','{27}','{28}','{29}','{30}','{31}','{32}','{33}','{34}','{35}','{36}')", dr["Provider"], dr["Channel"], dr["DepositSlipNumber"], dr["PaymentDate"], dr["PayerID"], dr["PayerName"], dr["Amount"], dr["PaymentMethod"], dr["ChequeNumber"], dr["ChequeValueDate"], dr["ChequeStatus"], dr["DateChequeReturned"], dr["TelephoneNumber"], dr["ReceiptNo"], dr["ReceiptDate"], dr["PayerAddress"], dr["User"], dr["RevenueCode"], dr["Description"], dr["ChequeBankCode"], dr["ChequeBankName"], dr["AgencyName"], dr["AgencyCode"], dr["BankCode"], dr["BankName"], dr["BranchCode"], dr["BranchName"], dr["ZoneCode"], dr["ZoneName"], dr["Username"], dr["AmountWords"], dr["EReceipts"], dr["EReceiptsDate"], dr["GeneratedBy"], dr["StationCode"], dr["StationName"], dr["PaymentRefNumber"]);


                        db_con = new OleDbConnection(conn);

                        OleDbCommand cmd = new OleDbCommand(qury, db_con);
                        cmd.ExecuteNonQuery();
                    }
                }
                //update online table after download
                switch (Program.intCode)
                {
                case 13:    //Akwa Ibom state

                    break;

                case 32:    //kogi state
                    break;

                case 37:    //ogun state

                    using (var DriveCollection = new CollectionManager.CollectionManager())
                    {
                        dsreturn = DriveCollection.CmuCollectionDownloadUpdate(dss, strTin);
                    }
                    break;

                case 40:    //oyo state

                    break;

                default:
                    break;
                }
            }
            else
            {
                MessageBox.Show(String.Format("No More Records for {0} Tax Drive Team", strname));
                return;
            }


            SplashScreenManager.CloseForm(false);
        }