//get record based on id public PayerPayee PPRecord(int id) { using (var context = new FinanceEDMContainer()) { return(context.PayerPayees.SingleOrDefault(e => e.PPId == id)); } }
//get all records public List <PayerPayee> AllPPRecords() { using (var context = new FinanceEDMContainer()) { return(context.PayerPayees.ToList()); } }
//Write to payer/payee xml file public void WritePayerPayeeXML() { using (var context = new FinanceEDMContainer()) { List <PayerPayee> records = AllPPRecords(); String[] columnname = { "PPId", "Name", "Address", "DOB", "Email", "UserDetailsUserId" }; XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; XmlWriter writer = XmlWriter.Create("PayerPayee.xml", settings); writer.WriteStartDocument(); writer.WriteStartElement("PayerPayee"); for (int i = 0; i < records.Count; i++) { writer.WriteStartElement("PayersPayees"); writer.WriteAttributeString(columnname[0], records[i].GetType().GetProperty(columnname[0]).GetValue(records[i]).ToString()); for (int e = 1; e < columnname.Length; e++) { writer.WriteAttributeString(columnname[e], records[i].GetType().GetProperty(columnname[e]).GetValue(records[i]).ToString()); } writer.WriteEndElement(); } writer.WriteEndDocument(); writer.Close(); } }
//Get transaction by Date public Transaction[] GetTransaction(String Date) { using (var context = new FinanceEDMContainer()) { return(context.Transactions.Where(e => e.Date == Date).ToArray()); } }
//Write all the transactions to the xml file public void WriteTransactionXML(String date) { using (var context = new FinanceEDMContainer()) { Transaction[] records = GetTransaction(date); String[] columnname = { "Category", "Description", "Recuring", "Amount", "TransactionType", "PayerPayeePPId", "TransactionId" }; XmlWriterSettings settings = new XmlWriterSettings(); settings.Indent = true; XmlWriter writer = XmlWriter.Create(date + ".xml", settings); writer.WriteStartDocument(); writer.WriteStartElement("Transactions"); writer.WriteAttributeString("Date", date); for (int i = 0; i < records.Length; i++) { writer.WriteStartElement("Transaction"); for (int e = 0; e < columnname.Length; e++) { writer.WriteAttributeString(columnname[e], records[i].GetType().GetProperty(columnname[e]).GetValue(records[i]).ToString()); } writer.WriteEndElement(); } writer.WriteEndElement(); writer.WriteEndDocument(); writer.Close(); } }
public Transaction GetTransaction(int Id) { using (var context = new FinanceEDMContainer()) { Debug.WriteLine(Id); return(context.Transactions.Where(e => e.TransactionId == Id).Single()); } }
//Remove a payeer or payer from the database based on the id public bool RemovePayerPayee(int id) { using (var context = new FinanceEDMContainer()) { var record = context.PayerPayees.Where(e => e.PPId == id).Single(); context.PayerPayees.Remove(record); context.SaveChanges(); } return(true); }
//remove a transaction by id public bool RemoveTransaction(int id) { using (var context = new FinanceEDMContainer()) { var remove = context.Transactions.Where(e => e.TransactionId == id).Single(); context.Transactions.Remove(remove); context.SaveChanges(); } return(true); }
//add a payer or payee to the database public bool AddPayerPayee(PayerPayee obj) { using (var context = new FinanceEDMContainer()) { //obj.UserDetailsUserId = Session.SessionID; obj.UserDetailsUserId = 1; context.PayerPayees.Add(obj); context.SaveChanges(); } return(true); }
//Add a transaction to the database public bool AddTransaction(List <Transaction> obj) { using (var context = new FinanceEDMContainer()) { foreach (Transaction item in obj) { context.Transactions.Add(item); context.SaveChanges(); } } return(true); }
//update a payer or payee based on the id public bool UpdatePayerPayee(PayerPayee obj) { using (var context = new FinanceEDMContainer()) { var record = context.PayerPayees.SingleOrDefault(e => e.PPId == obj.PPId); record.Name = obj.Name; record.Address = obj.Address; record.DOB = obj.DOB; record.Email = obj.Email; //obj.UserDetailsUserId = Session.SessionID; record.UserDetailsUserId = 1; context.SaveChanges(); } return(true); }
//Authenticate user login public bool LoginAuthentication(String email, String password) { using (var context = new FinanceEDMContainer()) { var userRecord = context.UserDetails.Where(e => e.Email == email && e.Password == password); if (userRecord.Any()) { Session.SessionID = userRecord.Single().UserId; return(true); } else { return(false); } } }
//update the transaction fields public bool UpdateTransaction(Transaction obj) { using (var context = new FinanceEDMContainer()) { var record = context.Transactions.SingleOrDefault(e => e.TransactionId == obj.TransactionId); record.Category = obj.Category; record.Date = obj.Date; record.Description = obj.Description; record.PayerPayeePPId = obj.PayerPayeePPId; record.Recuring = obj.Recuring; record.TransactionId = obj.TransactionId; record.TransactionType = obj.TransactionType; context.SaveChanges(); } return(true); }
//register new user public bool AddUser(UserDetails obj) { using (var context = new FinanceEDMContainer()) { var userRecord = context.UserDetails.Where(e => e.Email == obj.Email); if (userRecord.Any()) { return(false); } else { context.UserDetails.Add(obj); context.SaveChanges(); } } return(true); }
public double predict(String Date) { List <double> day = new List <double>(); List <double> totalTransaction = new List <double>(); using (var context = new FinanceEDMContainer()) { List <Transaction> lst = context.Transactions.Where(e => e.TransactionType == "Expense").ToList().OrderBy(e => DateTime.Parse(e.Date)).ToList(); for (int i = 0; i < (lst.Count - 1); i++) { double daydiff = (DateTime.Parse(lst[i + 1].Date) - DateTime.Parse(lst[i].Date)).TotalDays; if (daydiff != 0) { day.Add(daydiff); totalTransaction.Add(lst[i].Amount); } else { totalTransaction[totalTransaction.Count - 1] = (lst[i].Amount + lst[i + 1].Amount); } } Debug.WriteLine("Day c" + day.Count); foreach (double d in day) { Debug.WriteLine(d); } Debug.WriteLine("Trans c" + totalTransaction.Count); foreach (double t in totalTransaction) { Debug.WriteLine(t); } //y = a +bx //a= (sum(amount)*(sum(day^2))) - (sum(day) * sum(amount *days)) / lst.count * (sum(day^2)) - sum(amount)*(sum(day^2) //b = lst.count * (sum(amount*days)) - sum(day) *sum(amount) / lst.count *sum(day^2) - sum(day) ^2 double amountsqtotal = 0; double amounttotal = 0; foreach (double t in totalTransaction) { amounttotal += t; amountsqtotal += Math.Pow(t, 2); } double daysqtotal = 0; double daytotal = 0; foreach (double d in day) { daytotal += d; daysqtotal += Math.Pow(d, 2); } double xytotal = 0; for (int i = 0; i < day.Count; i++) { xytotal += day[i] * totalTransaction[i]; } double a = ((amounttotal * daysqtotal) - (daytotal * xytotal)) / ((day.Count * daysqtotal) - (amounttotal * Math.Pow(daytotal, 2))); double b = ((day.Count * xytotal) - (daytotal * amounttotal)) / ((day.Count * daysqtotal) - Math.Pow(daytotal, 2)); Debug.WriteLine(a + " " + b); double y = a + b * (DateTime.Parse(Date) - DateTime.Parse(lst[lst.Count - 1].Date)).TotalDays; Debug.WriteLine(y); return(y); } }