public static List <POCO.record> GetDoubles(int dossierId, int importRecordTmpId) { var list = new List <POCO.record>(); PersonalFinancesDBEntities db = new PersonalFinancesDBEntities(); importRecordTmp irt = db.importRecordTmps.Find(importRecordTmpId); list = (from rec in db.sp_getListDuplicates(irt.dossierId, irt.revenue, irt.expense, irt.date, irt.description, irt.comment) select new POCO.record { dossierId = rec.dossierId, description = rec.description, comment = rec.comment, date = rec.date, revenue = rec.revenue, expense = rec.expense, CategoryDescription = rec.category, SubcategoryDescription = rec.subcategory }).ToList(); return(list); }
public static void Delete(int dossierId, int importRecordTmpId) { PersonalFinancesDBEntities db = new PersonalFinancesDBEntities(); importRecordTmp irt = db.importRecordTmps.Where(i => i.dossierId == dossierId && i.importRecordTmpId == importRecordTmpId).Single(); db.importRecordTmps.Remove(irt); db.SaveChanges(); }
private ExtractionResult ProcessList(List <List <DataRow> > inputList) { var _result = new ExtractionResult(); _result.TotalProcessedRecords = inputList.Count(); var list = new List <importRecordTmp>(); foreach (var listDR in inputList) { //Skipping the header for (int i = 1; i < listDR.Count(); i++) { //Checking if it is an empty line if (string.IsNullOrEmpty(listDR[i][(int)RecordField.Date].ToString())) { break; } decimal expense = 0; var ValidValue = decimal.TryParse(listDR[i][(int)RecordField.Expense].ToString(), out expense); decimal revenue = 0; if (ValidValue) { ValidValue = decimal.TryParse(listDR[i][(int)RecordField.Revenue].ToString(), out revenue); } DateTime date = new DateTime(); if (ValidValue) { ValidValue = DateTime.TryParse(listDR[i][(int)RecordField.Date].ToString(), out date); } var record = new importRecordTmp { description = listDR[i][(int)RecordField.Description].ToString(), category = listDR[i][(int)RecordField.Category].ToString(), subcategory = listDR[i][(int)RecordField.Subcategory].ToString(), expense = expense, revenue = revenue, comment = listDR[i][(int)RecordField.Comment].ToString(), date = date, importError = !ValidValue }; list.Add(record); } } _result.TotalDiscardedRecord = list.Where(p => p.importError == true).Select(p => p).ToList().Count(); _result.ValidRecords = list.Where(i => !i.importError).ToList(); return(_result); }
private bool ProcessRecordline(string line, out importRecordTmp importRecordTmp) { importRecordTmp = new importRecordTmp(); String[] RecordLine = line.Split(_separator); if (RecordLine.Count() != 7) { //TODO: report error to USER _failedImports++; return(false); } string [] dateTmp = RecordLine[(int)RecordField.Date].Split('/'); if (dateTmp.Count() != 3) { //TODO: report error to USER _failedImports++; return(false); } importRecordTmp.date = new DateTime(year: Int32.Parse(dateTmp[(int)DateField.year]), month: Int32.Parse(dateTmp[(int)DateField.month]), day: Int32.Parse(dateTmp[(int)DateField.day])); importRecordTmp.description = RecordLine[(int)RecordField.Description]; //string numTmp = RecordLine[(int)RecordField.Amount].Replace(',', '.'); //importRecordTmp.expense = decimal.Parse(numTmp); importRecordTmp.expense = decimal.Parse(RecordLine[(int)RecordField.Expense]); importRecordTmp.revenue = decimal.Parse(RecordLine[(int)RecordField.Revenue]); if (importRecordTmp.expense > 0 && importRecordTmp.revenue > 0) { _failedImports++; return(false); } importRecordTmp.category = RecordLine[(int)RecordField.Category]; importRecordTmp.subcategory = RecordLine[(int)RecordField.Subcategory]; importRecordTmp.dossierId = _dossierId; return(true); }