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)); }
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")); } }
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)); }
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)); }
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")); } }
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); } }
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)); }
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(""); } }
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); } }
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 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 }); }
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)); }
public IHttpActionResult Gettransaction(int id) { transaction transaction = db.transactions.Find(id); if (transaction == null) { return(NotFound()); } return(Ok(transaction)); }
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)); }
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)); }
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"); } }
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)); }
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(); }
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); }
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"); } }
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; }
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; }