コード例 #1
0
        public ActionResult SendWerkbriefToEmail(string EmailReciever)
        {
            try
            {
                var strResult  = "";
                var userId     = User.Identity.GetUserId();
                var werkbrifef = db.Werkbriefs.OrderByDescending(o => o.DateCreated).FirstOrDefault(u => u.UserId == userId);
                strResult = werkbrifef?.WerkbriefHTML;

                strResult = strResult?.Replace("\r\n", string.Empty);
                byte[] bytes = GeneratePDF(strResult);

                var modelForEmailBody = new WerkbriefEmailBodyViewModel();
                modelForEmailBody.CompanyName = werkbrifef.Company.CompanyName;
                string strEmailResult = RenderEmailBodyView("WerkbriefEmailBody", modelForEmailBody);;

                EmailFunctions.SendEmail(EmailReciever, $"Werkbrief van {werkbrifef?.Company.CompanyName} - periode: { werkbrifef?.Period}", strEmailResult, bytes, DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".pdf");

                return(Json(true, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #2
0
        public ActionResult SendIvoiceToEmail(string EmailReciever)
        {
            try
            {
                var userId = User.Identity.GetUserId();

                var faktura = db.Fakturis.OrderByDescending(o => o.DateCreated).Where(u => u.UserID == userId).FirstOrDefault();

                var strResult = faktura.FakturaHtml.Replace("\r\n", string.Empty);

                var modelForEmailBody = new InvoiceEmailBodyViewModel()
                {
                    Total          = faktura.TotalPrice.ToString(),
                    FakturaDate    = faktura.InvoiceDate.ToString("dd.MM.yyyy"),
                    FakturaEndDate = faktura.InvoiceEndDate.ToString("dd.MM.yyyy"),
                    FakturaNumber  = faktura.FakturaNumber
                };
                string strEmailResult = RenderEmailBodyView("InvoiceEmailBody", modelForEmailBody);

                byte[] bytes = GeneratePDF(strResult);

                EmailFunctions.SendEmail(EmailReciever, "Faktuur van: " + faktura.Company.CompanyName + " - Periode: " + faktura.Period, strEmailResult, bytes, DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".pdf");

                return(Json(true, JsonRequestBehavior.AllowGet));
            }
            catch
            {
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }
コード例 #3
0
        public ActionResult Index(ContactFormModel Model)
        {
            if (!ModelState.IsValid)
            {
                return(View(Model));
            }

            var messageBody = new StringBuilder();

            messageBody.AppendLine("######################################## <br /> <br />");
            messageBody.AppendLine("Ново съобщение от: " + Model.FirstName + " " + Model.LastName);
            messageBody.AppendLine("<br /> <br />");
            messageBody.AppendLine("######################################## <br /> <br />");
            messageBody.AppendLine("Телефон: " + Model.Phone);
            messageBody.AppendLine("<br /> <br />");
            messageBody.AppendLine("######################################## <br /> <br />");
            messageBody.AppendLine("Имейл: " + Model.Email);
            messageBody.AppendLine("<br /> <br />");
            messageBody.AppendLine("######################################## <br /> <br />");
            messageBody.AppendLine("Съобщение: " + Model.Message);
            messageBody.AppendLine("<br /> <br />");
            messageBody.AppendLine("######################################## <br /> <br />");
            EmailFunctions.SendEmail(ConfigurationManager.AppSettings["AdminEmail"], "Ново запитване от сайта fakturi.nl", messageBody.ToString());
            TempData["MessageIsSent"] = "Съобщението е изпратено успешно.";
            return(View(Model));
        }
コード例 #4
0
        public ActionResult SaveWerkbriefConfirmed(bool value)
        {
            var userId = User.Identity.GetUserId();
            var model  = GetWerkbriefTempModel(userId);

            var werkbrief = new Werkbrief();

            werkbrief.CompanyID = model.CompanyID;
            werkbrief.Period    = model.Period;
            werkbrief.UserId    = userId;

            werkbrief.DateCreated   = DateTime.Now;
            werkbrief.DateModified  = DateTime.Now;
            werkbrief.UserName      = User.Identity.Name;
            werkbrief.WerkbriefHTML = RenderViewToString("index", model);
            var totalHours = Decimal.Zero;

            var werkbriefHours = new List <WerkbriefHours>();

            foreach (var hours in model.WerkbriefHoursTemps)
            {
                totalHours += GetTotalHours(hours);
                werkbriefHours.Add(new WerkbriefHours()
                {
                    ProductID  = hours.ProductID,
                    ProjectID  = hours.ProjectID,
                    TotalHours = hours.TotalHours,
                    Week       = hours.Week,
                    Monday     = hours.Monday,
                    Tuesday    = hours.Tuesday,
                    Wednesday  = hours.Wednesday,
                    Thursday   = hours.Thursday,
                    Friday     = hours.Friday,
                    Saturday   = hours.Saturday,
                    Sunday     = hours.Sunday
                });
            }
            werkbrief.TotalHours = totalHours.ToString();
            db.Werkbriefs.Add(werkbrief);

            werkbriefHours.ForEach(w => db.WerkbriefHours.Add(w));
            db.SaveChanges();

            byte[] bytes          = GeneratePDF(werkbrief.WerkbriefHTML.Replace("\r\n", string.Empty));
            string strEmailResult = "<img src=\"" + ConfigurationManager.AppSettings["SocialLogoPath"] + "\">";

            EmailFunctions.SendEmail(ConfigurationManager.AppSettings["AdminEmail"], "New werkbrief from user " + User.Identity.Name, strEmailResult, bytes, DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".pdf");

            return(Json(werkbrief.WerkbriefHTML, JsonRequestBehavior.AllowGet));
        }
コード例 #5
0
        public JsonResult SaveInvoiceConfirmed(bool value)
        {
            try
            {
                var userId = User.Identity.GetUserId();
                var model  = GetInvoiceTempModel(userId);

                // TODO: Set Counter for each user for every year

                var tempCounter =
                    db.Counters
                    .FirstOrDefault(c => c.UserID == userId && c.Year == DateTime.Now.Year.ToString());
                if (tempCounter != null)
                {
                    tempCounter.CounterValue++;
                }


                //var counter = db.Counters.OrderByDescending(s => s.CounterValue).FirstOrDefault(c => c.Year == DateTime.Now.Year.ToString());
                //counter.CounterValue++;
                //db.Counters.Add(counter);
                // TODO: Set Counter for each user for every year


                var faktura = new Fakturi();
                faktura.CompanyID      = model.CompanyID;
                faktura.InvoiceDate    = DateTime.Parse(model.InvoiceDate);
                faktura.InvoiceEndDate = DateTime.Parse(model.InvoiceEndDate);

                faktura.TotalPrice    = model.TotalWithDDS;
                faktura.Period        = model.Period ?? " ";
                faktura.FakturaNumber = model.InvoiceNumber;
                faktura.FakturaHtml   = RenderViewToString("Index", model);
                faktura.UserID        = userId;
                faktura.UserName      = User.Identity.Name;
                faktura.DateCreated   = DateTime.Now;
                faktura.DateModified  = DateTime.Now;
                db.Fakturis.Add(faktura);

                var products = new List <ProductInvoice>();
                foreach (var productTemp in model.ProductsListTemp)
                {
                    products.Add(new ProductInvoice()
                    {
                        InvoiceID  = faktura.InvoiceID,
                        DdsID      = productTemp.DdsID,
                        ProductID  = productTemp.ProductID,
                        ProjectID  = productTemp.ProjectID,
                        Quantity   = productTemp.Quanity,
                        TotalPrice = productTemp.ProductTotalPrice
                    });
                }
                products.ForEach(s => db.ProductInvoices.Add(s));
                db.SaveChanges();

                byte[] bytes          = GeneratePDF(faktura.FakturaHtml.Replace("\r\n", string.Empty));
                string strEmailResult = "<img src=\"" + ConfigurationManager.AppSettings["SocialLogoPath"] + "\">";
                EmailFunctions.SendEmail(ConfigurationManager.AppSettings["AdminEmail"], "New invoice from user " + User.Identity.Name, strEmailResult, bytes, DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".pdf");

                return(Json(faktura.FakturaHtml, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                EmailFunctions.SendExceptionToAdmin(ex);
                return(Json(false, JsonRequestBehavior.AllowGet));
            }
        }