public string RenderViewToString(string templateName, object model) { templateName = "~/Areas/WerkbriefTemplates/Views/WerkbriefTemplate/" + templateName + ".cshtml"; //TODO: Make enumeration for variable templateName. ViewData.Model = model; try { using (StringWriter sw = new StringWriter()) { ViewEngineResult viewResult = ViewEngines.Engines.FindView(ControllerContext, templateName, null); ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw); viewResult.View.Render(viewContext, sw); viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View); return(sw.ToString()); } } catch (Exception ex) { EmailFunctions.SendExceptionToAdmin(ex); TempData["ResultErrors"] = "There was a problem with rendering template for email!"; return("Error in register form! Email with the problem was send to aministrator."); } }
public ActionResult GetRoles(UserRolesModels model) { if (ModelState.IsValid) { try { ApplicationUser user = context.Users.Where(u => u.UserName.Equals(model.SelectedUsers, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); var account = new AccountController(); // ViewBag.RolesForThisUser = account.UserManager.GetRoles(user.Id); var um = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new AppDbContext())); ViewBag.RolesForThisUser = um.GetRoles(user.Id); ViewBag.Users = context.Users.OrderBy(u => u.UserName).ToList().Select(uu => new SelectListItem { Value = uu.Email, Text = uu.FirstName + " " + uu.LastName }).ToList(); // prepopulat roles for the view dropdown var list = context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList(); ViewBag.Roles = list; } catch (Exception ex) { EmailFunctions.SendExceptionToAdmin(ex); } } return(View("ManageUserRoles")); }
public ActionResult DownloadInvoice(int?idInvoice) { try { var userId = User.Identity.GetUserId(); var strResult = db.Fakturis.OrderByDescending(o => o.DateCreated).Where(u => u.UserID == userId).FirstOrDefault().FakturaHtml; byte[] bytes = GeneratePDF(strResult); Response.Buffer = false; Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); //Set the appropriate ContentType. Response.ContentType = "Application/pdf"; //Write the file content directly to the HTTP content output stream. Response.BinaryWrite(bytes); Response.Flush(); Response.End(); return(File(bytes, "application/pdf", DateTime.Now.ToString(CultureInfo.InvariantCulture))); } catch (Exception ex) { EmailFunctions.SendExceptionToAdmin(ex); return(Json(false)); } }
public ActionResult RoleAddToUser(UserRolesModels model) { if (ModelState.IsValid) { try { ApplicationUser user = context.Users.Where(u => u.UserName.Equals(model.SelectedUsers, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault(); var um = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new AppDbContext())); var idResult = um.AddToRole(user.Id, model.SelectedRoles); ViewBag.Users = context.Users.OrderBy(u => u.UserName).ToList().Select(uu => new SelectListItem { Value = uu.Email, Text = uu.FirstName + " " + uu.LastName }).ToList(); ViewBag.RolesForThisUser = um.GetRoles(user.Id); ViewBag.SelectedUser = String.Format("{0} {1}", user.FirstName, user.LastName); // prepopulat roles for the view dropdown var list = context.Roles.OrderBy(r => r.Name).ToList().Select(rr => new SelectListItem { Value = rr.Name.ToString(), Text = rr.Name }).ToList(); ViewBag.Roles = list; TempData["ResultSuccess"] = String.Format("Role added successfully to user {0} {1}!", user.FirstName, user.LastName); return(View("ManageUserRoles")); } catch (Exception ex) { EmailFunctions.SendExceptionToAdmin(ex); TempData["ResultError"] = "Error in adding role!"; return(RedirectToAction("ManageUserRoles")); } } return(RedirectToAction("ManageUserRoles")); }
public ActionResult DownloadWerkbrief(int?idWerkbrief) { try { var userId = User.Identity.GetUserId(); var firstOrDefault = db.Werkbriefs.OrderByDescending(o => o.DateCreated).FirstOrDefault(u => u.UserId == userId); if (firstOrDefault != null) { var strResult = firstOrDefault.WerkbriefHTML; byte[] bytes = GeneratePDF(strResult); Response.Buffer = false; Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); //Set the appropriate ContentType. Response.ContentType = "Application/pdf"; //Write the file content directly to the HTTP content output stream. Response.BinaryWrite(bytes); Response.Flush(); Response.End(); return(File(bytes, "application/pdf", DateTime.Now.ToString(CultureInfo.InvariantCulture))); } else { return(HttpNotFound()); } } catch (Exception ex) { EmailFunctions.SendExceptionToAdmin(ex); return(Json(false)); } }
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)); } }