public static List<IMAVenderCostMonthReportData> GetVenderClientCostByMonth(WoWiModel.WoWiEntities wowidb, int year) { List<IMAVenderCostMonthReportData> list = new List<IMAVenderCostMonthReportData>(); IMAVenderCostMonthReportData temp; try { var venders = (from pr in wowidb.PRs from pj in wowidb.Projects where pr.project_id == pj.Project_Id && pj.Create_Date.Year == year select pr.vendor_id).Distinct(); decimal M1D = 0, M1Q = 0, M2D = 0, M2Q = 0, M3D = 0, M3Q = 0, M4D = 0, M4Q = 0, M5D = 0, M5Q = 0, M6D = 0, M6Q = 0, M7D = 0, M7Q = 0, M8D = 0, M8Q = 0, M9D = 0, M9Q = 0, M10D = 0, M10Q = 0, M11D = 0, M11Q = 0, M12D = 0, M12Q = 0, TotD = 0, TotQ = 0; foreach (var ven in venders) { try { String vName = ""; var prs = from pr in wowidb.PRs where pr.vendor_id == ven select pr; decimal venM1D = 0, venM1Q = 0, venM2D = 0, venM2Q = 0, venM3D = 0, venM3Q = 0, venM4D = 0, venM4Q = 0, venM5D = 0, venM5Q = 0, venM6D = 0, venM6Q = 0, venM7D = 0, venM7Q = 0, venM8D = 0, venM8Q = 0, venM9D = 0, venM9Q = 0, venM10D = 0, venM10Q = 0, venM11D = 0, venM11Q = 0, venM12D = 0, venM12Q = 0, venTotD = 0, venTotQ = 0; foreach (var p in prs) { try { temp = new IMAVenderCostMonthReportData(); var v = (from i in wowidb.vendors where i.id == ven select i).First(); temp.VenderName = String.IsNullOrEmpty(v.c_name) ? v.name : v.c_name; vName = temp.VenderName; var pj = (from proj in wowidb.Projects where proj.Project_Id == p.project_id select proj).First(); int month = pj.Create_Date.Month; var quo = (from q in wowidb.Quotation_Version where q.Quotation_Version_Id == pj.Quotation_Id select q).First(); temp.Model = quo.Model_No; int cid = (int)quo.Client_Id; try { var client = (from cli in wowidb.clientapplicants where cli.id == cid select cli).First(); temp.Client = String.IsNullOrEmpty(client.c_companyname) ? client.companyname : client.c_companyname; } catch { } var pri = (from pi in wowidb.PR_item where pi.pr_id == p.pr_id select pi).First(); try { //var tDesc = ( from kk in wowidb.Quotation_Target from kkk in wowidb.Targets where pri.quotation_target_id == kk.Quotation_Target_Id && kk.target_id == kkk.target_id select kkk.target_description).First(); var tDesc = (from kk in wowidb.Quotation_Target where pri.quotation_target_id == kk.Quotation_Target_Id select kk.target_description).First(); temp.Country = tDesc; } catch (Exception) { } decimal avenM1D = 0, avenM1Q = 0, avenM2D = 0, avenM2Q = 0, avenM3D = 0, avenM3Q = 0, avenM4D = 0, avenM4Q = 0, avenM5D = 0, avenM5Q = 0, avenM6D = 0, avenM6Q = 0, avenM7D = 0, avenM7Q = 0, avenM8D = 0, avenM8Q = 0, avenM9D = 0, avenM9Q = 0, avenM10D = 0, avenM10Q = 0, avenM11D = 0, avenM11Q = 0, avenM12D = 0, avenM12Q = 0, avenTotD = 0, avenTotQ = 0; switch (month) { case 1: avenM1D = (decimal)pri.amount; avenM1Q = (decimal)pri.quantity; break; case 2: avenM2D = (decimal)pri.amount; avenM2Q = (decimal)pri.quantity; break; case 3: avenM3D = (decimal)pri.amount; avenM3Q = (decimal)pri.quantity; break; case 4: avenM4D = (decimal)pri.amount; avenM4Q = (decimal)pri.quantity; break; case 5: avenM5D = (decimal)pri.amount; avenM5Q = (decimal)pri.quantity; break; case 6: avenM4D = (decimal)pri.amount; avenM4Q = (decimal)pri.quantity; break; case 7: avenM4D = (decimal)pri.amount; avenM4Q = (decimal)pri.quantity; break; case 8: avenM8D = (decimal)pri.amount; avenM8Q = (decimal)pri.quantity; break; case 9: avenM9D = (decimal)pri.amount; avenM9Q = (decimal)pri.quantity; break; case 10: avenM10D = (decimal)pri.amount; avenM10Q = (decimal)pri.quantity; break; case 11: avenM11D = (decimal)pri.amount; avenM11Q = (decimal)pri.quantity; break; case 12: avenM12D = (decimal)pri.amount; avenM12Q = (decimal)pri.quantity; break; } avenTotD = avenM1D + avenM2D + avenM3D + avenM4D + avenM5D + avenM6D + avenM7D + avenM8D + avenM9D + avenM10D + avenM11D + avenM12D; avenTotQ = avenM1Q + avenM2Q + avenM3Q + avenM4Q + avenM5Q + avenM6Q + avenM7Q + avenM8Q + avenM9Q + avenM10Q + avenM11Q + avenM12Q; venM1D += avenM1D; venM1Q += avenM1Q; venM2D += avenM2D; venM2Q += avenM2Q; venM3D += avenM3D; venM3Q += avenM3Q; venM4D += avenM4D; venM4Q += avenM4Q; venM5D += avenM5D; venM5Q += avenM5Q; venM6D += avenM6D; venM6Q += avenM6Q; venM7D += avenM7D; venM7Q += avenM7Q; venM8D += avenM8D; venM8Q += avenM8Q; venM9D += avenM9D; venM9Q += avenM9Q; venM10D += avenM10D; venM10Q += avenM10Q; venM11D += avenM11D; venM11Q += avenM11Q; venM12D += avenM12D; venM12Q += avenM12Q; venTotD += avenTotD; venTotQ += avenTotQ; temp.Month01USD = avenM1D.ToString("F2"); temp.Month02USD = avenM2D.ToString("F2"); temp.Month03USD = avenM3D.ToString("F2"); temp.Month04USD = avenM4D.ToString("F2"); temp.Month05USD = avenM5D.ToString("F2"); temp.Month06USD = avenM6D.ToString("F2"); temp.Month07USD = avenM7D.ToString("F2"); temp.Month08USD = avenM8D.ToString("F2"); temp.Month09USD = avenM9D.ToString("F2"); temp.Month10USD = avenM10D.ToString("F2"); temp.Month11USD = avenM11D.ToString("F2"); temp.Month12USD = avenM12D.ToString("F2"); temp.TotalUSD = avenTotD.ToString("F2"); temp.Month01QTY = avenM1Q.ToString("F0"); temp.Month02QTY = avenM2Q.ToString("F0"); temp.Month03QTY = avenM3Q.ToString("F0"); temp.Month04QTY = avenM4Q.ToString("F0"); temp.Month05QTY = avenM5Q.ToString("F0"); temp.Month06QTY = avenM6Q.ToString("F0"); temp.Month07QTY = avenM7Q.ToString("F0"); temp.Month08QTY = avenM8Q.ToString("F0"); temp.Month09QTY = avenM9Q.ToString("F0"); temp.Month10QTY = avenM10Q.ToString("F0"); temp.Month11QTY = avenM11Q.ToString("F0"); temp.Month12QTY = avenM12Q.ToString("F0"); temp.TotalQTY = avenTotQ.ToString("F0"); list.Add(temp); } catch (Exception) { //throw; } }//Single vender ends M1D += venM1D; M1Q += venM1Q; M2D += venM2D; M2Q += venM2Q; M3D += venM3D; M3Q += venM3Q; M4D += venM4D; M4Q += venM4Q; M5D += venM5D; M5Q += venM5Q; M6D += venM6D; M6Q += venM6Q; M7D += venM7D; M7Q += venM7Q; M8D += venM8D; M8Q += venM8Q; M9D += venM9D; M9Q += venM9Q; M10D += venM10D; M10Q += venM10Q; M11D += venM11D; M11Q += venM11Q; M12D += venM12D; M12Q += venM12Q; TotD += venTotD; TotQ += venTotQ; if (venTotD != 0) { temp = new IMAVenderCostMonthReportData() { VenderName = " Total : " }; temp.Month01USD = venM1D.ToString("F2"); temp.Month02USD = venM2D.ToString("F2"); temp.Month03USD = venM3D.ToString("F2"); temp.Month04USD = venM4D.ToString("F2"); temp.Month05USD = venM5D.ToString("F2"); temp.Month06USD = venM6D.ToString("F2"); temp.Month07USD = venM7D.ToString("F2"); temp.Month08USD = venM8D.ToString("F2"); temp.Month09USD = venM9D.ToString("F2"); temp.Month10USD = venM10D.ToString("F2"); temp.Month11USD = venM11D.ToString("F2"); temp.Month12USD = venM12D.ToString("F2"); temp.TotalUSD = venTotD.ToString("F2"); temp.Month01QTY = venM1Q.ToString("F0"); temp.Month02QTY = venM2Q.ToString("F0"); temp.Month03QTY = venM3Q.ToString("F0"); temp.Month04QTY = venM4Q.ToString("F0"); temp.Month05QTY = venM5Q.ToString("F0"); temp.Month06QTY = venM6Q.ToString("F0"); temp.Month07QTY = venM7Q.ToString("F0"); temp.Month08QTY = venM8Q.ToString("F0"); temp.Month09QTY = venM9Q.ToString("F0"); temp.Month10QTY = venM10Q.ToString("F0"); temp.Month11QTY = venM11Q.ToString("F0"); temp.Month12QTY = venM12Q.ToString("F0"); temp.TotalQTY = venTotQ.ToString("F0"); list.Add(temp); } } catch (Exception) { //throw; } }//Vender ends if (TotD != 0) { temp = new IMAVenderCostMonthReportData() { VenderName = "Balance Total : " }; temp.Month01USD = M1D.ToString("F2"); temp.Month02USD = M2D.ToString("F2"); temp.Month03USD = M3D.ToString("F2"); temp.Month04USD = M4D.ToString("F2"); temp.Month05USD = M5D.ToString("F2"); temp.Month06USD = M6D.ToString("F2"); temp.Month07USD = M7D.ToString("F2"); temp.Month08USD = M8D.ToString("F2"); temp.Month09USD = M9D.ToString("F2"); temp.Month10USD = M10D.ToString("F2"); temp.Month11USD = M11D.ToString("F2"); temp.Month12USD = M12D.ToString("F2"); temp.TotalUSD = TotD.ToString("F2"); temp.Month01QTY = M1Q.ToString("F0"); temp.Month02QTY = M2Q.ToString("F0"); temp.Month03QTY = M3Q.ToString("F0"); temp.Month04QTY = M4Q.ToString("F0"); temp.Month05QTY = M5Q.ToString("F0"); temp.Month06QTY = M6Q.ToString("F0"); temp.Month07QTY = M7Q.ToString("F0"); temp.Month08QTY = M8Q.ToString("F0"); temp.Month09QTY = M9Q.ToString("F0"); temp.Month10QTY = M10Q.ToString("F0"); temp.Month11QTY = M11Q.ToString("F0"); temp.Month12QTY = M12Q.ToString("F0"); temp.TotalQTY = TotQ.ToString("F0"); list.Add(temp); } } catch (Exception) { //throw; } return list; }
public static List<IMAVenderCostMonthReportData> GetVenderCostByMonth(WoWiModel.WoWiEntities wowidb, int year) { List<IMAVenderCostMonthReportData> list = new List<IMAVenderCostMonthReportData>(); IMAVenderCostMonthReportData temp; try { var venders = (from pr in wowidb.PRs from pj in wowidb.Projects where pr.project_id == pj.Project_Id && pj.Create_Date.Year == year select pr.vendor_id).Distinct(); decimal M1D = 0, M1Q = 0, M2D = 0, M2Q = 0, M3D = 0, M3Q = 0, M4D = 0, M4Q = 0, M5D = 0, M5Q = 0, M6D = 0, M6Q = 0, M7D = 0, M7Q = 0, M8D = 0, M8Q = 0, M9D = 0, M9Q = 0, M10D = 0, M10Q = 0, M11D = 0, M11Q = 0, M12D = 0, M12Q = 0, TotD = 0, TotQ = 0; foreach (var ven in venders) { decimal venM1D = 0, venM1Q = 0, venM2D = 0, venM2Q = 0, venM3D = 0, venM3Q = 0, venM4D = 0, venM4Q = 0, venM5D = 0, venM5Q = 0, venM6D = 0, venM6Q = 0, venM7D = 0, venM7Q = 0, venM8D = 0, venM8Q = 0, venM9D = 0, venM9Q = 0, venM10D = 0, venM10Q = 0, venM11D = 0, venM11Q = 0, venM12D = 0, venM12Q = 0, venTotD = 0, venTotQ = 0; try { var prs = from pr in wowidb.PRs where pr.vendor_id == ven select pr; temp = new IMAVenderCostMonthReportData(); var v = (from i in wowidb.vendors where i.id == ven select i).First(); temp.VenderName = String.IsNullOrEmpty(v.c_name) ? v.name : v.c_name; foreach (var p in prs) { try { int month = (from proj in wowidb.Projects where proj.Project_Id == p.project_id select proj.Create_Date.Month).First(); var pri = (from pi in wowidb.PR_item where pi.pr_id == p.pr_id select pi).First(); switch (month) { case 1: venM1D += (decimal)pri.amount; venM1Q += (decimal)pri.quantity; break; case 2: venM2D += (decimal)pri.amount; venM2Q += (decimal)pri.quantity; break; case 3: venM3D += (decimal)pri.amount; venM3Q += (decimal)pri.quantity; break; case 4: venM4D += (decimal)pri.amount; venM4Q += (decimal)pri.quantity; break; case 5: venM5D += (decimal)pri.amount; venM5Q += (decimal)pri.quantity; break; case 6: venM6D += (decimal)pri.amount; venM6Q += (decimal)pri.quantity; break; case 7: venM7D += (decimal)pri.amount; venM7Q += (decimal)pri.quantity; break; case 8: venM8D += (decimal)pri.amount; venM8Q += (decimal)pri.quantity; break; case 9: venM9D += (decimal)pri.amount; venM9Q += (decimal)pri.quantity; break; case 10: venM10D += (decimal)pri.amount; venM10Q += (decimal)pri.quantity; break; case 11: venM11D += (decimal)pri.amount; venM11Q += (decimal)pri.quantity; break; case 12: venM12D += (decimal)pri.amount; venM12Q += (decimal)pri.quantity; break; } } catch (Exception) { //throw; } }//Single vender ends venTotD = venM1D + venM2D + venM3D + venM4D + venM5D + venM6D + venM7D + venM8D + venM9D + venM10D + venM11D + venM12D; venTotQ = venM1Q + venM2Q + venM3Q + venM4Q + venM5Q + venM6Q + venM7Q + venM8Q + venM9Q + venM10Q + venM11Q + venM12Q; M1D += venM1D; M1Q += venM1Q; M2D += venM2D; M2Q += venM2Q; M3D += venM3D; M3Q += venM3Q; M4D += venM4D; M4Q += venM4Q; M5D += venM5D; M5Q += venM5Q; M6D += venM6D; M6Q += venM6Q; M7D += venM7D; M7Q += venM7Q; M8D += venM8D; M8Q += venM8Q; M9D += venM9D; M9Q += venM9Q; M10D += venM10D; M10Q += venM10Q; M11D += venM11D; M11Q += venM11Q; M12D += venM12D; M12Q += venM12Q; TotD += venTotD; TotQ += venTotQ; temp.Month01USD = venM1D.ToString("F2"); temp.Month02USD = venM2D.ToString("F2"); temp.Month03USD = venM3D.ToString("F2"); temp.Month04USD = venM4D.ToString("F2"); temp.Month05USD = venM5D.ToString("F2"); temp.Month06USD = venM6D.ToString("F2"); temp.Month07USD = venM7D.ToString("F2"); temp.Month08USD = venM8D.ToString("F2"); temp.Month09USD = venM9D.ToString("F2"); temp.Month10USD = venM10D.ToString("F2"); temp.Month11USD = venM11D.ToString("F2"); temp.Month12USD = venM12D.ToString("F2"); temp.TotalUSD = venTotD.ToString("F2"); temp.Month01QTY = venM1Q.ToString("F0"); temp.Month02QTY = venM2Q.ToString("F0"); temp.Month03QTY = venM3Q.ToString("F0"); temp.Month04QTY = venM4Q.ToString("F0"); temp.Month05QTY = venM5Q.ToString("F0"); temp.Month06QTY = venM6Q.ToString("F0"); temp.Month07QTY = venM7Q.ToString("F0"); temp.Month08QTY = venM8Q.ToString("F0"); temp.Month09QTY = venM9Q.ToString("F0"); temp.Month10QTY = venM10Q.ToString("F0"); temp.Month11QTY = venM11Q.ToString("F0"); temp.Month12QTY = venM12Q.ToString("F0"); temp.TotalQTY = venTotQ.ToString("F0"); list.Add(temp); } catch (Exception) { //throw; } }//Vender ends if (TotD != 0) { temp = new IMAVenderCostMonthReportData() { VenderName = "Balance Total : " }; temp.Month01USD = M1D.ToString("F2"); temp.Month02USD = M2D.ToString("F2"); temp.Month03USD = M3D.ToString("F2"); temp.Month04USD = M4D.ToString("F2"); temp.Month05USD = M5D.ToString("F2"); temp.Month06USD = M6D.ToString("F2"); temp.Month07USD = M7D.ToString("F2"); temp.Month08USD = M8D.ToString("F2"); temp.Month09USD = M9D.ToString("F2"); temp.Month10USD = M10D.ToString("F2"); temp.Month11USD = M11D.ToString("F2"); temp.Month12USD = M12D.ToString("F2"); temp.TotalUSD = TotD.ToString("F2"); temp.Month01QTY = M1Q.ToString("F0"); temp.Month02QTY = M2Q.ToString("F0"); temp.Month03QTY = M3Q.ToString("F0"); temp.Month04QTY = M4Q.ToString("F0"); temp.Month05QTY = M5Q.ToString("F0"); temp.Month06QTY = M6Q.ToString("F0"); temp.Month07QTY = M7Q.ToString("F0"); temp.Month08QTY = M8Q.ToString("F0"); temp.Month09QTY = M9Q.ToString("F0"); temp.Month10QTY = M10Q.ToString("F0"); temp.Month11QTY = M11Q.ToString("F0"); temp.Month12QTY = M12Q.ToString("F0"); temp.TotalQTY = TotQ.ToString("F0"); list.Add(temp); } } catch (Exception) { //throw; } return list; }