public async Task <ActionResult> Create([Bind(Include = "t_id,nameOnCard,cardNumber,unit_price,quantity,total_price,exp_Date,createdOn,createdBy,c_id,s_id,user_id")] transaction transaction)
        {
            string          cardStart = transaction.cardNumber.Substring(0, 2);
            creditcard_type cctype    = db.creditcard_type.Where(x => x.starts_with == cardStart && x.length == transaction.cardNumber.Length).FirstOrDefault();

            if (cctype == null)
            {
                ViewBag.errormessage = "Invalid Card Number";
                return(View("Create", transaction));
            }
            transaction.c_id        = cctype.c_id;
            transaction.total_price = transaction.quantity * transaction.unit_price;
            transaction.createdOn   = DateTime.Now;
            transaction.createdBy   = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
            transaction.user_id     = Convert.ToInt32(Session["user_id"].ToString());

            if (ModelState.IsValid)
            {
                db.transactions.Add(transaction);
                int transactionId = await db.SaveChangesAsync();

                return(RedirectToAction("Details", new { id = transaction.t_id }));
            }

            return(View(transaction));
        }
Exemple #2
0
        public IHttpActionResult AddFirstTransactions(TransactionsDto transactionsDto)
        {
            transaction addTransaction = new transaction();

            try
            {
                addTransaction.name                  = transactionsDto.name;
                addTransaction.nickname              = transactionsDto.nickName;
                addTransaction.senderaccountnumber   = transactionsDto.senderaccountnumber;
                addTransaction.receiveraccountnumber = transactionsDto.receiveraccountnumber;
                addTransaction.ifsccode              = transactionsDto.ifscCode;
                addTransaction.transactiondate       = DateTime.Now;
                addTransaction.creditamount          = transactionsDto.creditamount;
                addTransaction.debitamount           = transactionsDto.debitamount;
                addTransaction.senderbalanceamount   = transactionsDto.creditamount;
                addTransaction.receiverbalanceamount = "0";
                entity.transactions.Add(addTransaction);
                entity.SaveChanges();
                return(Ok(addTransaction));
            }
            catch (Exception ex)
            {
                return(Ok("Error"));
            }
        }
Exemple #3
0
        public IHttpActionResult AddTransactionsForDifferentBank(TransactionsDto transactionsDto)
        {
            transaction addTransaction       = new transaction();
            string      currentSenderBalance = "";

            try
            {
                var checkSenderTransactions = entity.users.Where(x => x.accountnumber == transactionsDto.senderaccountnumber).OrderByDescending(x => x.id).First();
                currentSenderBalance = checkSenderTransactions.accountbalance;
            }
            catch (Exception ex)
            {
                currentSenderBalance = "0";
            }
            finally
            {
                addTransaction.name                  = transactionsDto.name;
                addTransaction.nickname              = transactionsDto.nickName;
                addTransaction.senderaccountnumber   = transactionsDto.senderaccountnumber;
                addTransaction.receiveraccountnumber = transactionsDto.receiveraccountnumber;
                addTransaction.ifsccode              = transactionsDto.ifscCode;
                addTransaction.transactiondate       = DateTime.Now;
                addTransaction.creditamount          = transactionsDto.creditamount;
                addTransaction.debitamount           = transactionsDto.debitamount;
                addTransaction.senderbalanceamount   = ((Convert.ToDouble(currentSenderBalance) + Convert.ToDouble(transactionsDto.creditamount)) - Convert.ToDouble(transactionsDto.debitamount)).ToString();
                entity.transactions.Add(addTransaction);
                entity.SaveChanges();

                var userAccount = entity.users.First(x => x.accountnumber == transactionsDto.senderaccountnumber);
                userAccount.accountbalance = addTransaction.senderbalanceamount;
                entity.SaveChanges();
            }
            return(Ok(addTransaction));
        }
Exemple #4
0
 public string AddOut(TransactionDomainModel ts)
 {
     if ((Convert.ToInt32(ts.AccountID) == 0) || (Convert.ToInt32(ts.Amount) == 0) || (Convert.ToInt32(ts.TransactionType) == 0) || (ts.Date == Convert.ToDateTime("01-01-0001")))
     {
         return("One or more fields are empty");
     }
     else
     {
         account     acc   = accRep.SingleOrDefault(x => x.ID == ts.AccountID);
         transaction trans = new transaction();
         if (acc.Amount < ts.Amount)
         {
             return("Insufficient funds");
         }
         else
         {
             trans.AccountID         = ts.AccountID;
             trans.Amount            = Convert.ToDouble(ts.Amount);
             acc.Amount             -= trans.Amount;
             trans.TransactionType   = ts.TransactionType;
             trans.AccountTransferTo = ts.AccountTransferTo;
             trans.Date              = ts.Date;
             accRep.Update(acc);
             tsRep.Insert(trans);
             return("");
         }
     }
 }
        public ActionResult ConfirmCart(vOListVM vm)
        {
            if (ModelState.IsValid)
            {
                vm.cId          = (int)Session[CDictionary.SK_LOGINED_USER_ID];
                vm.priceWithTax = (decimal)Session[CDictionary.TK_Cart_TOTALPRICE];

                var user = db.Customer.FirstOrDefault(c => c.cId == vm.cId);

                var currentCart = db.OrderList
                                  .Where(m => m.cId == vm.cId);

                foreach (var item in currentCart)
                {
                    item.oRDate  = vm.serverDate;
                    item.oStatus = orderStatus.afterCheckOut.GetHashCode();
                }

                user.cPoint -= vm.priceWithTax;

                transaction ts = new transaction();
                ts.cId           = vm.cId;
                ts.companyIncome = vm.priceWithTax * (decimal)0.9;
                ts.tDate         = DateTime.Now;
                db.transaction.Add(ts);
                db.SaveChanges();
                return(RedirectToAction("CCenterList", "Acc"));
            }

            return(View(vm));
        }
Exemple #6
0
        public IHttpActionResult AddTransactionsForBankServices(string accountNumber, string message, string amount)
        {
            transaction addTransaction          = new transaction();
            var         checkSenderTransactions = entity.users.Where(x => x.accountnumber == accountNumber).OrderByDescending(x => x.id).First();
            var         currentSenderBalance    = checkSenderTransactions.accountbalance;

            try
            {
                addTransaction.name = message;
                addTransaction.senderaccountnumber   = accountNumber;
                addTransaction.receiveraccountnumber = accountNumber;
                addTransaction.transactiondate       = DateTime.Now;
                addTransaction.creditamount          = "0";
                addTransaction.debitamount           = amount;
                addTransaction.senderbalanceamount   = (Convert.ToDouble(currentSenderBalance) - Convert.ToDouble(amount)).ToString();
                addTransaction.receiverbalanceamount = "0";
                entity.transactions.Add(addTransaction);
                entity.SaveChanges();


                var userAccount = entity.users.First(x => x.accountnumber == accountNumber);
                userAccount.accountbalance = addTransaction.senderbalanceamount;
                entity.SaveChanges();

                return(Ok(addTransaction));
            }
            catch (Exception ex)
            {
                return(Ok("Error"));
            }
        }
Exemple #7
0
        public int Posttransaction(string aNumSender, double amount)
        {
            var sender = db.clients.Find(aNumSender);

            if (sender != null)
            {
                if (sender.balance < amount)
                {
                    return(2);
                }
                sender.balance             -= (float)amount;
                db.clients.Find(8).balance += (float)amount;
                transaction model = new transaction()
                {
                    senderId   = aNumSender,
                    receiverId = "0711000261892",
                    amount     = (float)amount
                };
                db.transactions.Add(model);
                db.SaveChanges();
                return(1);
            }
            else
            {
                return(0);
            }
        }
Exemple #8
0
        public async Task <IHttpActionResult> Puttransaction(int id, transaction transaction)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != transaction.id)
            {
                return(BadRequest());
            }

            db.Entry(transaction).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!transactionExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemple #9
0
 public string Edit(TransactionDomainModel ts)
 {
     if ((Convert.ToInt32(ts.AccountID) == 0) || (Convert.ToInt32(ts.Amount) == 0) || (Convert.ToInt32(ts.TransactionType) == 0) || (ts.Date == Convert.ToDateTime("01-01-0001")))
     {
         return("One or more fields are empty");
     }
     else
     {
         trans_type  t_type = tRep.SingleOrDefault(x => x.ID == ts.TransactionType);
         transaction trans  = tsRep.SingleOrDefault(x => x.ID == ts.ID);
         if (ts.AccountID == ts.AccountTransferTo)
         {
             return("You cant transfer from and to one account");
         }
         if (t_type.Description != "Transfer" && ts.AccountTransferTo != null)
         {
             return("Speciefied operation is not transfer, so it can't have 'transfer to' field");
         }
         trans.AccountID       = ts.AccountID;
         trans.Amount          = Convert.ToDouble(ts.Amount);
         trans.TransactionType = ts.TransactionType;
         if (t_type.Description == "Transfer" && ts.AccountTransferTo == null)
         {
             return("No destination account of the transfer was specified");
         }
         trans.AccountTransferTo = ts.AccountTransferTo;
         trans.Date = ts.Date;
         tsRep.Update(trans);
         return("");
     }
 }
Exemple #10
0
        public string Buy(string xmlbody, out string transactioncode, out transaction transactiondata, out RestTrace restTrace)
        {
            transactiondata = null;
            transactioncode = null;

            var ret = RestCall(out restTrace, null, "transactions", xmlbody, true, "application/xml", "*/*");

            if (ret == null)
            {
                return("Erro ao obter retorno.");
            }

            try
            {
                if (XDocument.Parse(ret.ToString()).XPathSelectElement("/errors/error") != null)
                {
                    return(ret);
                }

                var r = XDocument.Parse(ret.ToString()).XPathSelectElement("/transaction/code").CreateReader();
                r.MoveToContent();
                transactioncode = r.ReadInnerXml();
                transactiondata = ret.FromXMLString <transaction>();
                return(null);
            }
            catch (Exception ex)
            {
                return("Excecao: " + ex.Message + "|ret=" + ret);
            }
        }
Exemple #11
0
        //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

        public string Buy(BizClasses.Buy.payment pay, out string transactioncode, out transaction transactiondata, out RestTrace restTrace)
        {
            transactiondata = null;
            transactioncode = null;

            var xmlnbody = pay.XMLString("//payment", true);

            return(Buy(xmlnbody, out transactioncode, out transactiondata, out restTrace));
        }
        public async Task <ActionResult> DeleteConfirmed(Guid id)
        {
            transaction transaction = await db.transactions.FindAsync(id);

            db.transactions.Remove(transaction);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        public ActionResult ReadyToBeProcessed(int id)
        {
            transaction currentTransaction = db.transaction.Where(x => x.transactionID == id).FirstOrDefault();

            currentTransaction.atProcCenter = true;
            currentTransaction.isSent       = false;
            db.SaveChanges();

            return(PartialView("_ProcessingTransactionPartial", currentTransaction));
        }
 public TransactionModel CreateT(transaction trn)
 {
     return(new TransactionModel()
     {
         Id = trn.id,
         Fk_code_product = trn.fk_code_product,
         Amount = trn.amount,
         TypeT = trn.typeT
     });
 }
Exemple #15
0
        public static string ToTransactionName(this transaction value)
        {
            var primary = value.order;

            if (primary.type == TransactionType.INVOICE.ToString())
            {
                return(string.Format("Invoice #{0}", primary.orderNumber.ToString("D8")));
            }
            return(string.Format("Order #{0}", primary.orderNumber.ToString("D8")));
        }
        // GET: transactions/Create?id=1&prize=10
        /// <summary>
        /// Schedule ID and Schedule Prize.
        /// </summary>
        /// <param name="id">Schedule ID</param>
        /// <param name="prize">Schedule Prize.</param>
        /// <returns></returns>
        public ActionResult CreateFromSchedule(int id, int prize)
        {
            transaction trans = new transaction();

            trans.s_id       = id;
            trans.unit_price = prize;
            ViewBag.c_id     = new SelectList(db.creditcard_type, "c_id", "name");
            ViewBag.s_id     = new SelectList(db.schedules, "s_id", "source");
            ViewBag.user_id  = new SelectList(db.users, "user_id", "name");
            return(View("Create", trans));
        }
Exemple #17
0
        public IHttpActionResult Gettransaction(int id)
        {
            transaction transaction = db.transactions.Find(id);

            if (transaction == null)
            {
                return(NotFound());
            }

            return(Ok(transaction));
        }
Exemple #18
0
        public async Task <IHttpActionResult> Gettransaction(int id)
        {
            transaction transaction = await db.transactions.FindAsync(id);

            if (transaction == null)
            {
                return(NotFound());
            }

            return(Ok(transaction));
        }
        public ActionResult SendBackToStore(int id)
        {
            transaction currentTransaction = db.transaction.Where(x => x.transactionID == id).FirstOrDefault();

            currentTransaction.atProcCenter = false;
            currentTransaction.isSent       = true;
            currentTransaction.isEncrypted  = true;
            db.SaveChanges();

            return(PartialView("_EncryptProcessedTransactionPartial", currentTransaction));
        }
Exemple #20
0
        public ActionResult Edit(int id)
        {
            transaction transaction = db.transactions.Single(t => t.TransactionID == id);

            ViewBag.DonationID = new SelectList(db.donations, "InvestmentID", "Description", transaction.DonationID);
            var donation = db.donations.FirstOrDefault(x => x.InvestmentID == transaction.DonationID);

            ViewBag.Donation = donation;
            ViewBag.Project  = donation.project;
            return(View(transaction));
        }
Exemple #21
0
        private void ProcessTransaction()
        {
            string      message     = String.Empty;
            transaction transaction = this.PopulateTransaction();
            bool        success     = this.transactionRepo.SaveTransaction(transaction, out message);

            if (success)
            {
                MessageBox.Show("Transaction has been recorded");
            }
        }
Exemple #22
0
        public async Task <IActionResult> Create([Bind("id,fkproject,fkuser,amount,transactiondate,accountemail")] transaction transaction)
        {
            if (ModelState.IsValid)
            {
                _context.Add(transaction);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(transaction));
        }
        public void Update(int key, string name, string description, decimal amount)
        {
            transaction rev = new transaction
            {
                transaction_id          = key,
                transaction_name        = name,
                transaction_description = description,
                transaction_amount      = amount
            };

            _dc.SubmitChanges(); //Will the UPDATE run? I don't think so... need to figure out how to update
        }
        public async Task <ActionResult> Edit([Bind(Include = "transactionID,Quantity,TotalAmount,Status,DateOfTrans,clientID")] transaction transaction)
        {
            if (ModelState.IsValid)
            {
                db.Entry(transaction).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.clientID = new SelectList(db.Clientinfos, "clientID", "clientname", transaction.clientID);
            return(View(transaction));
        }
Exemple #25
0
        public IHttpActionResult Posttransaction(transaction transaction)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.transactions.Add(transaction);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = transaction.transId }, transaction));
        }
        public async Task <ActionResult> Edit([Bind(Include = "trn_code,date,total_price,cust_id")] transaction transaction)
        {
            if (ModelState.IsValid)
            {
                db.Entry(transaction).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.cust_id = new SelectList(db.customers, "cust_id", "fname", transaction.cust_id);
            return(View(transaction));
        }
        /// <summary>
        /// Inserts a Transaction (Revenue or Expense) into the database
        /// </summary>
        /// <param name="name">Name of the Transaction (Revenue or Expense)</param>
        /// <param name="description">Description of the Transaction (Revenue or Expense)</param>
        /// <param name="amount">Amount of the Transaction (Revenue or Expense)</param>
        public void Insert(string name, string description, decimal amount)
        {
            //Put together LINQ statement and INSERT into the database
            transaction rev = new transaction
            {
                transaction_name        = name,
                transaction_description = description,
                transaction_amount      = amount
            };

            _dc.transactions.InsertOnSubmit(rev);
            _dc.SubmitChanges();
        }
Exemple #28
0
        private transaction PopulateTransaction()
        {
            transaction transaction = new transaction();

            transaction.stock_id          = int.Parse(TickerComboBox.SelectedValue.ToString());
            transaction.transaction_date  = TransactionDateTimePicker.Value;
            transaction.number_of_shares  = decimal.Parse(SharesNumberTextBox.Text.Trim());
            transaction.transaction_price = decimal.Parse(TransactionPriceTextBox.Text.Trim());
            transaction.broker_id         = int.Parse(BrokerComboBox.SelectedValue.ToString());
            transaction.transaction_type  = BuyRadioButton.Checked ? BuyRadioButton.Text : SellRadioButton.Text;
            transaction.transaction_fee   = this.brokerRepo.getTransactionFee(transaction.transaction_type, transaction.broker_id);
            return(transaction);
        }
Exemple #29
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            if (txtbox_transactionNumber.Text != "")
            {
                transactionInfo = transactionservice.getTransactionByTrnID(txtbox_transactionNumber.Text);

                label_amountCharged.Text = transactionInfo.amountCharged.ToString();
                txtbox_log.Text          = getTransactionComment(transactionInfo);

                moneyComponent.convertToMoneyFormat(label_amountCharged);

                setLog("Search");
            }
        }
        // GET: transactions/Details/5
        public async Task <ActionResult> Details(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            transaction transaction = await db.transactions.FindAsync(id);

            if (transaction == null)
            {
                return(HttpNotFound());
            }
            return(View(transaction));
        }
 public static ResultCodeType processPaymentRequest(paymentServer_dataBase DBHandler, transaction transDetails)
 {
     ResultCodeType result = new ResultCodeType();
     return result;
 }
        //reference from #inputBtn , #outPrint in follow up cases,
        public void addCase()
        {
            try
            {

            int doctorId = int.Parse(Request.Form["doctorId"]);
            int caseId = int.Parse(Request.Form["caseId"]);
            string caseColor = Request.Form["caseColor"];
            string patientName = Request.Form["patientName"];
            string notes = Request.Form["notes"];
            DateTime recieveDate;
            CultureInfo enUS = new CultureInfo("en-US");
            DateTime.TryParseExact(Request.Form["recieveDate"], "yyyy-MM-dd", enUS,
                        DateTimeStyles.None, out recieveDate);
            string caseTeeth = Request.Form["caseTeeth"];
            DateTime enterdate;
             enUS = new CultureInfo("en-US");
            DateTime.TryParseExact(Request.Form["day"], "yyyy-MM-dd", enUS,
                        DateTimeStyles.None, out enterdate);

            teethLabEntities db = new teethLabEntities();

            //get price
            int price = db.caseDoctorPrices.Where(o => o.doctorId == doctorId && o.caseId == caseId).First().price ;

            //get last case number

             string newMonth = Request.Form["newMonth"];

                int caseNumber = this.NewCaseNumber();

            int numCases = int .Parse( Request.Form["numCases"]);

            string year = DateTime.Now.Year.ToString();
            string month = DateTime.Now.Month.ToString();
            if (int.Parse(month) < 10)
            {
                month = "0" + month;
            }
            string day = DateTime.Now.Day.ToString();
            if (int.Parse(day) < 10)
            {
                day = "0" + day;
            }
            price *= numCases;
                string action = Request.Form["action"];
                transaction tran = new transaction();
                if (action == "inputProva")
                {
                    int id = int.Parse(Request.Form["transId"]);
                     tran = db.transactions.Find(id);
                     tran.notes = notes + "*Case Input Prova at " + DateTime.Now.ToString("yyyy-MM-dd") + "*";
                     tran.isOut = false;
                     tran.prova = true;

                }
                else if (action == "inputCase")
                {
                    tran = new transaction();
                    tran.caseNumber = caseNumber;
                    tran.notes = notes;
                    tran.isOut = false;
                    tran.prova = false;
                    tran.recieveDate = enterdate;
                }
                else if (action == "outCase")
                {
                    int id = int.Parse(Request.Form["transId"]);
                    tran = db.transactions.Find(id);
                    tran.notes = notes + "*Case Out at " + DateTime.Now.ToString("yyyy-MM-dd") + "*";
                    tran.isOut = true;
                    tran.prova = false;

                    Session["transId"] = id;
                }
                else if (action == "outProva")
                {
                    int id = int.Parse(Request.Form["transId"]);
                    tran = db.transactions.Find(id);
                    tran.prova = true;
                    tran.notes = notes + "*Case Out Prova at " + DateTime.Now.ToString("yyyy-MM-dd") + "*";
                    tran.isOut = true;

                }
                else
                {
                    return;
                }
            tran.caseTeeth = caseTeeth;
            tran.caseColor = caseColor;
            tran.price = price;
            tran.patientName = patientName;
            tran.toRecieveDate = recieveDate;

            tran.caseId = caseId;
            tran.doctorId = doctorId;
            db.transactions.Add(tran);
            if (action == "inputProva" || action == "outCase" || action == "outProva")
            {
                db.Entry(tran).State = System.Data.EntityState.Modified;
            }
            else if (action == "inputCase" )
            {
                db.Entry(tran).State = System.Data.EntityState.Added;
            }
            db.SaveChanges();
            Response.Write("success," + price + "," + recieveDate.Month+"/"+recieveDate.Day+"/"+caseNumber);
            }
            catch (Exception e)
            {
                Response.Write("error");
            }
        }
Exemple #33
0
        private iatiactivity ConvertAimsToIati(tblProjectInfo project)
        {
            var iatiActivityObj = new iatiactivity();

            iatiActivityObj.IsDataSourceAIMS = true;
            iatiActivityObj.IsCofinancedProject = project.IsCofundedProject ?? false;

            iatiActivityObj.AllID = project.FundSourceId + "~" + (project.tblFundSource?.IATICode ?? "") + "~"
                                + (int)ExecutingAgencyType.DP + "~"
                                + project.tblFundSource?.FundSourceCategoryId;

            iatiActivityObj.ProjectId = project.Id;
            //iati-activity
            iatiActivityObj.lastupdateddatetime = DateTime.Now;
            iatiActivityObj.lang = "en";
            iatiActivityObj.defaultcurrency = Statix.Currency;
            iatiActivityObj.hierarchy = 1;
            //linked-data-uri

            //iati-identifier
            iatiActivityObj.iatiidentifier = new iatiidentifier { Value = getIdentifer(project) };

            //reporting-org
            iatiActivityObj.reportingorg = new reportingorg
            {
                @ref = project.tblFundSource?.IATICode,
                type = project.tblFundSource?.tblFundSourceCategory?.IATICode,
                //secondary-reporter
                narrative = Statix.getNarativeArray(project.tblFundSource?.FundSourceName),
            };

            //title
            iatiActivityObj.title = new textRequiredType { narrative = Statix.getNarativeArray(project.Title) };
            //description
            iatiActivityObj.description = new iatiactivityDescription[1] { new iatiactivityDescription { narrative = Statix.getNarativeArray(project.Objective) } };

            //participating-org
            List<participatingorg> participatingorgList = new List<participatingorg>();
            participatingorgList.Add(new participatingorg
            {
                narrative = Statix.getNarativeArray(project.tblFundSource?.FundSourceGroup),
                role = "1",
                @ref = project.tblFundSource?.IATICode,
                type = project.tblFundSource?.tblFundSourceCategory?.IATICode,
            });

            participatingorgList.Add(new participatingorg
            {
                narrative = Statix.getNarativeArray(project.tblFundSource?.FundSourceName),
                role = "3",
                @ref = project.tblFundSource?.IATICode,
                type = project.tblFundSource?.tblFundSourceCategory?.IATICode,
            });

            if (project.tblProjectExecutingAgencies != null)
                foreach (var executingAgency in project.tblProjectExecutingAgencies)
                {
                    participatingorgList.Add(new participatingorg
                    {
                        narrative = Statix.getNarativeArray("N/A"),
                        role = "4",
                        @ref = "N/A",
                        type = "N/A",
                    });
                }

            //ToDo
            //iatiActivity.participatingorg[2] = new participatingorg
            //{
            //    narrative = getNarativeArray(project.tblFundSource.FundSourceName),
            //    role = "1",
            //    @ref = project.tblFundSource.IATICode,
            //    type = "10"
            //};
            iatiActivityObj.participatingorg = participatingorgList.ToArray();

            //other-identifier

            //activity-status
            iatiActivityObj.activitystatus = new activitystatus { code = project.tblImplementationStatu.IATICode };

            //activity-date
            List<activitydate> activitydateList = new List<activitydate>();
            activitydateList.Add(new activitydate { type = "1", isodate = project.PlannedProjectStartDate ?? default(DateTime) });
            activitydateList.Add(new activitydate { type = "2", isodate = project.ActualProjectStartDate ?? default(DateTime) });
            activitydateList.Add(new activitydate { type = "3", isodate = project.PlannedProjectCompletionDate ?? default(DateTime) });
            activitydateList.Add(new activitydate { type = "4", isodate = project.RevisedProjectCompletionDate ?? default(DateTime) });
            iatiActivityObj.activitydate = activitydateList.ToArray();

            //contact-info
            List<contactinfo> contactinfoList = new List<contactinfo>();
            contactinfoList.Add(new contactinfo //DP
            {
                type = "1",
                organisation = new textRequiredType { narrative = Statix.getNarativeArray(project.tblFundSource?.FundSourceName) },
                department = new textRequiredType { narrative = Statix.getNarativeArray(project.tblFundSource?.FundSourceName) },
                personname = new textRequiredType { narrative = Statix.getNarativeArray(project.FocalPointDPContactName) },
                jobtitle = new textRequiredType { narrative = Statix.getNarativeArray(project.FocalPointDPContactDesignation) },
                telephone = new List<contactinfoTelephone> { new contactinfoTelephone { Value = project.FocalPointDPContactTelephone } }.ToArray(),
                email = new List<contactinfoEmail> { new contactinfoEmail { Value = project.FocalPointDPContactEmail } }.ToArray(),
                website = new List<contactinfoWebsite> { new contactinfoWebsite { Value = project.FocalPointDPContactAddress } }.ToArray(),
                mailingaddress = new List<textRequiredType> { new textRequiredType { narrative = Statix.getNarativeArray(project.FocalPointDPContactAddress) } }.ToArray()
            });
            contactinfoList.Add(new contactinfo //GoB
            {
                type = "2",
                organisation = new textRequiredType { narrative = Statix.getNarativeArray(Statix.RecipientCountryName) },
                department = new textRequiredType { narrative = Statix.getNarativeArray("PD") },
                personname = new textRequiredType { narrative = Statix.getNarativeArray(project.FocalPointGoBContactName) },
                jobtitle = new textRequiredType { narrative = Statix.getNarativeArray(project.FocalPointGoBContactDesignation) },
                telephone = new List<contactinfoTelephone> { new contactinfoTelephone { Value = project.FocalPointGoBContactTelephone } }.ToArray(),
                email = new List<contactinfoEmail> { new contactinfoEmail { Value = project.FocalPointGoBContactEmail } }.ToArray(),
                website = new List<contactinfoWebsite> { new contactinfoWebsite { Value = project.FocalPointGoBContactAddress } }.ToArray(),
                mailingaddress = new List<textRequiredType> { new textRequiredType { narrative = Statix.getNarativeArray(project.FocalPointGoBContactAddress) } }.ToArray()
            });
            iatiActivityObj.contactinfo = contactinfoList.ToArray();

            //activity-scope

            //recipient-country
            List<recipientcountry> recipientcountryList = new List<recipientcountry>();
            recipientcountryList.Add(new recipientcountry { code = Statix.RecipientCountry, narrative = Statix.getNarativeArray(Statix.RecipientCountryName), percentage = 100 });
            iatiActivityObj.recipientcountry = recipientcountryList.ToArray();

            //recipient-region

            //location
            List<location> locationList = new List<location>();
            var locations = project.tblProjectGeographicAllocations.ToList();
            foreach (var location in locations)
            {
                locationList.Add(new location
                {
                    name = new textRequiredType { narrative = Statix.getNarativeArray(location.DistrictId.ToString()) },
                });
            }
            iatiActivityObj.location = locationList.ToArray();

            //sector
            List<sector> sectorList = new List<sector>();
            var sectors = project.tblProjectSectoralAllocations.ToList();
            foreach (var sector in sectors)
            {
                sectorList.Add(new sector
                {
                    narrative = Statix.getNarativeArray(sector.TotalCommitmentPercent.ToString())
                });
            }
            iatiActivityObj.sector = sectorList.ToArray();

            //country-budget-items

            //humanitarian-scope

            //policy-marker

            //collaboration-type

            //default-flow-type

            //default-finance-type

            //default-aid-type
            iatiActivityObj.defaultaidtype = new defaultaidtype { code = project.tblAssistanceType?.IATICode };

            //default-tied-status

            //budget

            //planned-disbursement
            List<planneddisbursement> planneddisbursementList = new List<planneddisbursement>();
            var planneddisbursements = project.tblProjectFundingPlannedDisbursements.ToList();
            foreach (var pd in planneddisbursements)
            {
                planneddisbursementList.Add(new planneddisbursement
                {
                    type = "1", //1=Origin, 2=Revised 
                    periodstart = new planneddisbursementPeriodstart { isodate = pd.PlannedDisbursementPeriodFromDate ?? DateTime.MinValue },
                    periodend = new planneddisbursementPeriodend { isodate = pd.PlannedDisbursementPeriodToDate ?? DateTime.MinValue },
                    value = new currencyType { currency = Statix.Currency, Value = pd.PlannedDisburseAmountInUSD ?? 0, valuedate = pd.PlannedDisbursementPeriodFromDate ?? DateTime.MinValue, ValueInUSD = pd.PlannedDisburseAmountInUSD ?? 0 },

                    providerorg = new planneddisbursementProviderorg
                    {
                        @ref = pd.tblFundSource?.IATICode,
                        provideractivityid = project.IatiIdentifier,
                        narrative = Statix.getNarativeArray(pd.tblFundSource?.FundSourceName),
                        type = pd.tblFundSource?.tblFundSourceCategory?.IATICode
                    },

                    receiverorg = new planneddisbursementReceiverorg
                    {
                        receiveractivityid = project.IatiIdentifier,
                        @ref = project.tblFundSource?.IATICode,
                        narrative = Statix.getNarativeArray(project.tblFundSource?.FundSourceName),
                        type = project.tblFundSource?.tblFundSourceCategory?.IATICode,
                    }

                });
            }

            iatiActivityObj.planneddisbursement = planneddisbursementList.ToArray();

            //capital-spend

            #region Transaction
            //Transaction
            List<transaction> transactions = new List<transaction>();

            //Commitment
            var commitments = project.tblProjectFundingCommitments.ToList();
            foreach (var commitment in commitments)
            {
                transaction tr = new transaction();
                tr.transactiontype = new transactionTransactiontype { code = ConvertIATIv2.gettransactionCode("C") };
                var date = commitment.CommitmentAgreementSignDate ?? project.AgreementSignDate;
                tr.transactiondate = new transactionTransactiondate { isodate = date };
                tr.value = new currencyType { currency = Statix.Currency, valuedate = date, Value = Convert.ToDecimal(commitment.CommittedAmountInUSD), ValueInUSD = Convert.ToDecimal(commitment.CommittedAmountInUSD) }; //commitment.tblCurrency.IATICode

                tr.description = new textRequiredType { narrative = Statix.getNarativeArray(commitment.Remarks) };
                tr.providerorg = new transactionProviderorg
                {
                    @ref = commitment.tblFundSource?.IATICode,
                    provideractivityid = project.IatiIdentifier,
                    narrative = Statix.getNarativeArray(commitment.tblFundSource?.FundSourceName),
                    type = commitment.tblFundSource?.tblFundSourceCategory?.IATICode
                };
                tr.receiverorg = new transactionReceiverorg
                {
                    @ref = project.tblFundSource?.IATICode,
                    receiveractivityid = project.IatiIdentifier,
                    narrative = Statix.getNarativeArray(project.tblFundSource?.FundSourceName),
                    type = project.tblFundSource?.tblFundSourceCategory?.IATICode
                };

                //<disbursement-channel code="1" />
                tr.disbursementchannel = new transactionDisbursementchannel { code = Statix.DisbursementChannel }; //Money is disbursed directly to the implementing institution and managed through a separate bank account

                //<sector vocabulary="2" code="111" />

                //<recipient-country code="AF" />  <!--Note: only a recipient-region OR a recipient-country is expected-->
                tr.recipientcountry = new transactionRecipientcountry { code = Statix.RecipientCountry };

                //<recipient-region code="456" vocabulary="1" />

                //<flow-type code="10" />
                tr.flowtype = new transactionFlowtype { code = Statix.FlowType };

                //<finance-type code="110" /> //110= Aid grant excluding debt reorganisation, 410 = Aid loan excluding debt reorganisation
                tr.financetype = new transactionFinancetype { code = commitment.tblAidCategory?.IATICode };

                //<aid-type code="A01" /> 
                tr.aidtype = new transactionAidtype { code = project.tblAssistanceType?.IATICode };

                //<tied-status code="3" />
                tr.tiedstatus = new transactionTiedstatus { code = project.tblAIDEffectivenessIndicators.Where(q => q.AEISurveyYear == date.Year).ToList().n(0).tblAIDEffectivenessResourceTiedType?.IATICode };


                iatiActivityObj.IsTrustFundedProject = commitment.IsCommitmentTrustFund ?? false;

                transactions.Add(tr);
            }

            //Actual Disbusement
            var actualDisbursements = project.tblProjectFundingActualDisbursements.ToList();
            foreach (var actualDisbursement in actualDisbursements)
            {
                transaction tr = new transaction();
                tr.transactiontype = new transactionTransactiontype { code = ConvertIATIv2.gettransactionCode("D") };
                var date = actualDisbursement.DisbursementToDate ?? actualDisbursement.DisbursementDate;
                tr.transactiondate = new transactionTransactiondate { isodate = date };
                tr.value = new currencyType { currency = Statix.Currency, valuedate = date, Value = Convert.ToDecimal(actualDisbursement.DisbursedAmountInUSD), ValueInUSD = Convert.ToDecimal(actualDisbursement.DisbursedAmountInUSD) }; //actualDisbursement.tblCurrency.IATICode

                tr.description = new textRequiredType { narrative = Statix.getNarativeArray(actualDisbursement.Remarks) };
                tr.providerorg = new transactionProviderorg
                {
                    @ref = actualDisbursement.tblFundSource?.IATICode,
                    provideractivityid = project.IatiIdentifier,
                    narrative = Statix.getNarativeArray(actualDisbursement.tblFundSource?.FundSourceName),
                    type = actualDisbursement.tblFundSource?.tblFundSourceCategory?.IATICode

                };
                tr.receiverorg = new transactionReceiverorg
                {
                    @ref = project.tblFundSource?.IATICode,
                    receiveractivityid = project.IatiIdentifier,
                    narrative = Statix.getNarativeArray(project.tblFundSource?.FundSourceName),
                    type = project.tblFundSource?.tblFundSourceCategory?.IATICode

                };

                //<disbursement-channel code="1" />
                tr.disbursementchannel = new transactionDisbursementchannel { code = Statix.DisbursementChannel };

                //<sector vocabulary="2" code="111" />

                //<recipient-country code="AF" />  <!--Note: only a recipient-region OR a recipient-country is expected-->
                tr.recipientcountry = new transactionRecipientcountry { code = Statix.RecipientCountry };

                //<recipient-region code="456" vocabulary="1" />

                //<flow-type code="10" />
                tr.flowtype = new transactionFlowtype { code = Statix.FlowType };

                //<finance-type code="110" /> //110= Aid grant excluding debt reorganisation, 410 = Aid loan excluding debt reorganisation
                tr.financetype = new transactionFinancetype { code = actualDisbursement.tblAidCategory?.IATICode };

                //<aid-type code="A01" /> 
                tr.aidtype = new transactionAidtype { code = project.tblAssistanceType?.IATICode };

                //<tied-status code="3" />
                tr.tiedstatus = new transactionTiedstatus { code = project.tblAIDEffectivenessIndicators.Where(q => q.AEISurveyYear == date.Year).ToList().n(0).tblAIDEffectivenessResourceTiedType?.IATICode };

                transactions.Add(tr);
            }

            //Expenditure
            var expenditures = project.tblProjectFundingExpenditures.ToList();
            foreach (var expenditure in expenditures)
            {
                transaction tr = new transaction();
                tr.transactiontype = new transactionTransactiontype { code = ConvertIATIv2.gettransactionCode("E") };
                var date = expenditure.ExpenditureReportingPeriodToDate; //?? expenditure.ExpenditureReportingPeriodFromDate;
                tr.transactiondate = new transactionTransactiondate { isodate = date };
                tr.value = new currencyType { currency = Statix.Currency, valuedate = date, Value = expenditure.ExpenditureAmountInUSD ?? 0, ValueInUSD = expenditure.ExpenditureAmountInUSD ?? 0 }; //expenditure.tblCurrency.IATICode

                tr.description = new textRequiredType { narrative = Statix.getNarativeArray(expenditure.Remarks) };
                tr.providerorg = new transactionProviderorg
                {
                    @ref = expenditure.tblFundSource?.IATICode,
                    provideractivityid = project.IatiIdentifier,
                    narrative = Statix.getNarativeArray(expenditure.tblFundSource?.FundSourceName),
                    type = expenditure.tblFundSource?.tblFundSourceCategory?.IATICode

                };
                tr.receiverorg = new transactionReceiverorg
                {
                    @ref = project.tblFundSource?.IATICode,
                    receiveractivityid = project.IatiIdentifier,
                    narrative = Statix.getNarativeArray(project.tblFundSource?.FundSourceName),
                    type = project.tblFundSource?.tblFundSourceCategory?.IATICode
                };

                //<disbursement-channel code="1" />
                tr.disbursementchannel = new transactionDisbursementchannel { code = Statix.DisbursementChannel };

                //<sector vocabulary="2" code="111" />

                //<recipient-country code="AF" />  <!--Note: only a recipient-region OR a recipient-country is expected-->
                tr.recipientcountry = new transactionRecipientcountry { code = Statix.RecipientCountry };

                //<recipient-region code="456" vocabulary="1" />

                //<flow-type code="10" />
                tr.flowtype = new transactionFlowtype { code = Statix.FlowType };

                //<finance-type code="110" /> //110= Aid grant excluding debt reorganisation, 410 = Aid loan excluding debt reorganisation
                tr.financetype = new transactionFinancetype { code = expenditure.tblAidCategory?.IATICode };

                //<aid-type code="A01" /> 
                tr.aidtype = new transactionAidtype { code = project.tblAssistanceType?.IATICode };

                //<tied-status code="3" />
                tr.tiedstatus = new transactionTiedstatus { code = project.tblAIDEffectivenessIndicators.Where(q => q.AEISurveyYear == date.Year).ToList().n(0).tblAIDEffectivenessResourceTiedType?.IATICode };

                transactions.Add(tr);
            }

            //Assign all transaction
            iatiActivityObj.transaction = transactions.ToArray();
            #endregion

            //document-link
            List<documentlink> documentlinkList = new List<documentlink>();
            var documents = project.tblProjectAttachments.ToList();
            foreach (var document in documents)
            {
                List<documentlinkLanguage> documentlinkLanguageList = new List<documentlinkLanguage>();
                documentlinkLanguageList.Add(new documentlinkLanguage { code = Statix.Language });

                List<documentlinkCategory> documentlinkCategoryList = new List<documentlinkCategory>();
                documentlinkCategoryList.Add(new documentlinkCategory { code = document.tblDocumentCategory?.IATICode });

                documentlinkList.Add(new documentlink
                {
                    url = document.AttachmentFileURL ?? Statix.DocumentURL + document.Id,
                    //format = 
                    title = new textRequiredType { narrative = Statix.getNarativeArray(document.AttachmentTitle) },
                    language = documentlinkLanguageList.ToArray(),
                    category = documentlinkCategoryList.ToArray()
                });
            }
            iatiActivityObj.documentlink = documentlinkList.ToArray();

            //related-activity

            //legacy-data

            //conditions

            //result

            //crs-add

            //fss


            return iatiActivityObj;
        }
Exemple #34
0
        public TrustFundModel GetTrustFundDetails(int trustFundId)
        {
            TrustFundModel trustFundModel = new TrustFundModel();

            var trustFundDetails = (from trustFund in dbContext.tblTrustFunds
                                    join trustFundDetail in dbContext.tblTrustFundDetails on trustFund.Id equals trustFundDetail.TrustFundId
                                    join fundSource in dbContext.tblFundSources on trustFundDetail.TFDFundSourceId equals fundSource.Id

                                    where trustFund.Id == trustFundId

                                    select new
                                    {
                                        Id = trustFund.Id,
                                        TFIdentifier = trustFund.TFIdentifier,
                                        FundSourceName = fundSource.FundSourceName,
                                        FundSourceId = trustFundDetail.TFDFundSourceId,
                                        Amount = trustFundDetail.TFDAmountInUSD,
                                    }).ToList();

            trustFundModel.TrustFundId = trustFundDetails.n(0).Id;
            trustFundModel.TFIdentifier = trustFundDetails.n(0).TFIdentifier;
            foreach (var trustFundDetail in trustFundDetails)
            {
                var tr = new transaction
                {
                    transactiontype = new transactionTransactiontype { code = ConvertIATIv2.gettransactionCode("C") },
                    providerorg = new transactionProviderorg { narrative = Statix.getNarativeArray(trustFundDetail.FundSourceName) },
                    value = new currencyType { currency = Statix.Currency, Value = trustFundDetail.Amount ?? 0 },
                };
                new AimsDbIatiDAL().SetCurrencyExRateAndVal(tr, Statix.Currency);
                trustFundModel.transactionsInAims.Add(tr);
            }


            return trustFundModel;
        }