Ejemplo n.º 1
0
        public static string saveRuntimeAsTransaction(int sheetNo, string username)
        {
            try
            {
                BillingDataDataContext db = new BillingDataDataContext();

                /*
                 * List<RuntimeData> oldData = runList.Where(x => x.TransactionId != Guid.Empty && x.TransactionId != null).ToList();
                 * List<RuntimeData> newData = runList.Where(x => x.TransactionId == null || x.TransactionId == Guid.Empty).ToList();
                 * List<Transaction> oldTransData = convertRuntimeListToTransList(oldData, db).ToList();
                 * List<RuntimeData> duplicateData = new List<RuntimeData>();
                 * List<RuntimeData> removeList = new List<RuntimeData>();
                 * foreach (var ele in newData)
                 * {
                 *    if (db.Transactions.Count(x => x.ConnsignmentNo == ele.ConsignmentNo) > 0)
                 *    {
                 *        removeList.Add(ele);
                 *        ele.TransactionId = db.Transactions.Single(x => x.ConnsignmentNo == ele.ConsignmentNo).ID;
                 *    }
                 * }
                 * removeList.ForEach(ele =>
                 * {
                 *    duplicateData.Add(ele);
                 *    newData.Remove(ele);
                 * });
                 * List<Transaction> newTransData = convertRuntimeListToTransList(newData, db);
                 * List<RuntimeData> discrepentData = duplicateData.Where(x =>
                 * {
                 *    bool flag = false;
                 *    Transaction transData = db.Transactions.Single(y => y.ID == x.TransactionId);
                 *    if (transData.BookingDate != x.BookingDate || transData.Weight != x.Weight || transData.AmountPayed != x.Amount)
                 *        flag = true;
                 *    return flag;
                 * }).ToList();
                 * duplicateData = duplicateData.Where(x => !discrepentData.Select(y => y.Id).Contains(x.Id)).ToList();
                 * duplicateData.ForEach(ele =>
                 * {
                 *    ele.TransactionId = db.Transactions.Single(x => ele.ConsignmentNo == x.ConnsignmentNo).ID;
                 * });
                 * List<Transaction> dupliTransData = convertRuntimeListToTransList(duplicateData, db);
                 * db.Transactions.InsertAllOnSubmit(newTransData);
                 * db.SubmitChanges();
                 * */
                db.SaveRuntimeData(sheetNo, username);
                db.sp_ReflectTransactionInRuntime();
                return("");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }