//
        // 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);
        }
Ejemplo n.º 2
0
        // 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);
        }
Ejemplo n.º 4
0
        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;
                    }
                }
            });
        }