// // GET: /Company/Create public ActionResult Create(string returnUrl) { ViewBag.ReturnUrl = returnUrl; // Generate Company for member initialization Company company = new Company(); company.OnCreate(); return View(company); }
// Company public AuditTrail(DateTime dateTime, string userName, Company company, int id, string comment) { this.AuditTrailTimeStamp = dateTime; this.AuditTrailUserName = userName; this.AuditTrailComment = comment; if(id > 0) { this.CompanyID = id; } else { this.Company = company; } }
public ActionResult SaveAndUpdateMargins(Company company, HttpPostedFileBase CompanyImage) { string preSaveStatus = db.Companies.Where(c => c.CompanyID == company.CompanyID).Select(c => c.CompanyStatus).FirstOrDefault(); if (ModelState.IsValid) { if (CompanyImage != null && CompanyImage.ContentLength > 0) { byte[] imageBinaryData = new byte[CompanyImage.ContentLength]; int readresult = CompanyImage.InputStream.Read(imageBinaryData, 0, CompanyImage.ContentLength); company.CompanyImage = imageBinaryData; company.CompanyImageType = CompanyImage.ContentType; } // Add Audit Entry AuditTrail audit = new AuditTrail(DateTime.Now, User.Identity.Name, company, company.CompanyID, "Edit"); db.AuditTrails.Add(audit); //Update Margins MyExtensions.UpdateActiveMarginsBasedOnCompany(db.Companies.Where(c => c.CompanyID == company.CompanyID).FirstOrDefault(), company.CompanyDefaultMargin, ref db); // Send Emails #region SendEmails // Check previous status if (preSaveStatus != company.CompanyStatus) { List<EmailTo> sendEmailTos = MyExtensions.GetEmailTo(company.CompanyStatus); var urlBuilder = Request.Url.AbsoluteUri; if (sendEmailTos != null && sendEmailTos.Count > 0) { UserMailer.SendStatusUpdate(sendEmailTos, "Company Updated by: " + MyExtensions.DisplayPrintFriendlyName(User.Identity.Name), urlBuilder.ToString(), company, null, null).Send(); } } #endregion var current = db.Companies.Find(company.CompanyID); db.Entry(current).CurrentValues.SetValues(company); db.SaveChanges(); return RedirectToAction("Edit", new { id = company.CompanyID }); } return View(company); }
public virtual MvcMailMessage SendStatusUpdate(List<EmailTo> emailTos, string title, string link, Company company = null, Campaign campaign = null, Product product = null) { string subject = "";// Check if we have an object if(product != null) { subject = company.CompanyName + ": Product Status Update " + DateTime.Now.ToString("f") + " : " + product.ProductName; ViewBag.Type = "Product"; ViewBag.Name = product.ProductName; ViewBag.Status = product.ProductStatus; ViewBag.Link = link; ViewBag.CampaignData = "Campaign Name: " + campaign.CampaignName; ViewBag.CompanyData = "Company Name: " + company.CompanyName; } else if(campaign != null) { subject = company.CompanyName + ": Campaign Status Update - " + campaign.CampaignName; ViewBag.Type = "Campaign"; ViewBag.Name = campaign.CampaignName; ViewBag.Status = campaign.CampaignStatus; ViewBag.Link = link; ViewBag.CompanyData = "Company Name: " + company.CompanyName; } else if(company != null) { subject = company.CompanyName + ": Company Status Update"; ViewBag.Type = "Company"; ViewBag.Name = company.CompanyName; ViewBag.Status = company.CompanyStatus; ViewBag.Link = link; } else { throw new System.ArgumentException("All Objects are Null", "UserMailer.cs"); } return Populate(x => { x.Subject = subject; x.ViewName = "SendStatusUpdate"; foreach(EmailTo emailTo in emailTos) { switch(emailTo) { case EmailTo.Account_Manager: x.To.Add(company.CompanyAccountManagerEmail); break; case EmailTo.Inventory_Buyers: x.To.Add("*****@*****.**"); break; case EmailTo.Merchandisers: x.To.Add("*****@*****.**"); break; case EmailTo.Mentor: x.To.Add(company.CompanyMentorEmail); break; default: break; } } }); }