public ActionResult ExportApRemarketingReport() { GridView gv = new GridView(); var crs = from c in db.Remarketings join f in db.Fleets on c.LogNumber equals f.LogNumber select new { c.FleetNumber, c.UnitNumber, c.LogNumber, c.Penalty, c.GainLoss, c.ProfitShareAmount, c.ComplementaryRent, c.CreditNote, c.Roe, c.SpotRate, c.Status, c.SoldDate, c.BankAccount }; crs = crs.Where(s => s.Status.ToUpper().Equals("SOLD")); List <APRemarketing> aPRemarketing = new List <Models.APRemarketing>(); foreach (var item in crs) { APRemarketing ag = new APRemarketing(); ag.JournalCategory = "?Remarketing"; ag.JournalSource = "?payables"; ag.CorpCode = 501; ag.CostCentre = "Diana provee info"; ag.Account = "Diana provee info"; ag.BankAccount = item.BankAccount; ag.PeriodName = "APR-17"; ag.CRNumber = "Número de transacción"; ag.DAN = item.LogNumber; ag.FleetNumber = item.FleetNumber; ag.UnitNumber = item.UnitNumber; ag.ChargeCode = "Diana provee info"; ag.ExternalDocLocator = "Número de factura del activo"; ag.CorpCodeAP = "N/A"; ag.ProcessDate = "Fecha de transacción"; ag.InternalDocumentLocator = "Número de documento contable"; ag.PartyName = "N/A"; ag.TransactionDate = Convert.ToDateTime(item.SoldDate); ag.EnteredDrSUM = Convert.ToDecimal(item.Penalty) + Convert.ToDecimal(item.ProfitShareAmount); ag.EnteredCrSUM = Convert.ToDecimal(item.ComplementaryRent) + Convert.ToDecimal(item.CreditNote); ag.NET = ag.EnteredDrSUM - ag.EnteredCrSUM; ag.AccountedDrSUM = ag.EnteredDrSUM * item.Roe; ag.AccountedCrSUM = ag.EnteredCrSUM * item.Roe; ag.CurrencyCode = item.Roe.Equals(0) ? "USD" : "MXN"; ag.Charge = "N/A"; ag.TCInvoice = item.Roe.Equals(0) ? item.Roe : 1; ag.TCPayment = item.Roe.Equals(0) ? Convert.ToDecimal(item.SpotRate) : 1; aPRemarketing.Add(ag); } gv.DataSource = aPRemarketing.Distinct(); gv.DataBind(); Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=APRemarketing.xls"); Response.ContentType = "application/ms-excel"; Response.Charset = ""; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); gv.RenderControl(htw); Response.Output.Write(sw.ToString()); Response.Flush(); Response.End(); db.SaveChanges(); return(RedirectToAction("APRemarketing")); }
public ActionResult ApRemarketing() { var crs = from c in db.Remarketings join f in db.Fleets on c.LogNumber equals f.LogNumber select new { c.FleetNumber, c.UnitNumber, c.LogNumber, c.Penalty, c.GainLoss, c.ProfitShareAmount, c.ComplementaryRent, c.CreditNote, c.Roe, c.SpotRate, c.Status, c.SoldDate, c.BankAccount }; crs = crs.Where(s => s.Status.ToUpper().Equals("SOLD")); DateTime time = DateTime.Now; DayOfWeek day = CultureInfo.InvariantCulture.Calendar.GetDayOfWeek(time); if (day >= DayOfWeek.Monday && day <= DayOfWeek.Wednesday) { time = time.AddDays(3); } // Return the week of our adjusted day int week = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(time, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday); List <APRemarketing> aPRemarketing = new List <Models.APRemarketing>(); foreach (var item in crs) { APRemarketing ag = new APRemarketing(); ag.JournalCategory = "?Remarketing"; ag.JournalSource = "?payables"; ag.CorpCode = 501; ag.CostCentre = "Diana provee info"; ag.Account = "Diana provee info"; ag.BankAccount = item.BankAccount; ag.PeriodName = "APR-17"; ag.CRNumber = "Número de transacción"; ag.DAN = item.LogNumber; ag.FleetNumber = item.FleetNumber; ag.UnitNumber = item.UnitNumber; ag.ChargeCode = "Diana provee info"; ag.ExternalDocLocator = "Número de factura del activo"; ag.CorpCodeAP = "N/A"; ag.ProcessDate = "Fecha de transacción"; ag.InternalDocumentLocator = "Número de documento contable"; ag.PartyName = "N/A"; ag.TransactionDate = Convert.ToDateTime(item.SoldDate); ag.EnteredDrSUM = Convert.ToDecimal(item.Penalty) + Convert.ToDecimal(item.ProfitShareAmount); ag.EnteredCrSUM = Convert.ToDecimal(item.ComplementaryRent) + Convert.ToDecimal(item.CreditNote); ag.NET = ag.EnteredDrSUM - ag.EnteredCrSUM; ag.AccountedDrSUM = ag.EnteredDrSUM * item.Roe; ag.AccountedCrSUM = ag.EnteredCrSUM * item.Roe; ag.CurrencyCode = item.Roe.Equals(0) ? "USD" : "MXN"; ag.Charge = "N/A"; ag.TCInvoice = item.Roe.Equals(0) ? item.Roe : 1; ag.TCPayment = item.Roe.Equals(0) ? Convert.ToDecimal(item.SpotRate) : 1; aPRemarketing.Add(ag); } return(View(aPRemarketing.Distinct())); }