public static void EditCreator(CreatorMVCModel model) { using (IDbConnection cnn = new SqlConnection(GlobalConfig.CnnString())) { if (model != null) { List <CreatorMVCModel> creators = LoadCreators(); if (creators.Where(x => x.Id == model.Id).FirstOrDefault() != null) { var obj = new { EmailAddress = model.EmailAddress, LastName = model.LastName, Name = model.Name, PhoneNumber = model.PhoneNumber, Id = model.Id }; cnn.Execute("UPDATE Creators SET " + "EmailAddress = @EmailAddress, LastName = @LastName, " + "Name = @Name, PhoneNumber = @PhoneNumber " + "WHERE Id = @Id", obj); } } } }
public static CommissionCreatorModel ConvertToCommissionCreatorModel(this CreatorMVCModel model) { if (model == null) { return(new CommissionCreatorModel()); } return(new CommissionCreatorModel(model.Name, model.LastName, model.PhoneNumber, model.EmailAddress)); }
// GET: Creators/Delete/5 public ActionResult Delete(int id) { CreatorMVCModel model = SQLiteDataAccess.LoadCreators().Where(x => x.Id == id).FirstOrDefault(); if (model != null) { return(View(model)); } return(RedirectToAction("Index")); }
public static void RemoveCreator(CreatorMVCModel model) { using (IDbConnection cnn = new SqlConnection(GlobalConfig.CnnString())) { if (model != null) { List <CreatorMVCModel> creators = LoadCreators(); if (creators.Where(x => x.Id == model.Id).FirstOrDefault() != null) { cnn.Execute($"DELETE FROM Creators WHERE Id = {model.Id}"); } } } }
public ActionResult Delete(int id, CreatorMVCModel model) { try { if (model != null) { SQLiteDataAccess.RemoveCreator(model); } return(RedirectToAction("Index")); } catch { return(View()); } }
public ActionResult Edit(int id, CreatorMVCModel model) { try { if (ModelState.IsValid) { SQLiteDataAccess.EditCreator(model); } return(RedirectToAction("Index")); } catch { return(View()); } }
public ActionResult Create(CreatorMVCModel creator) { try { if (ModelState.IsValid) { SQLiteDataAccess.SaveCreator(creator); } return(RedirectToAction("Index")); } catch { return(RedirectToAction("Create")); } }
private CreatorMVCModel GetCreatorInformation(CreatorMVCModel commissionCreator, int selectedCreator) { CreatorMVCModel result = new CreatorMVCModel(); List <CreatorMVCModel> creators = SQLiteDataAccess.LoadCreators(); // Gets created creator information, and save him to DB if (commissionCreator.Name != null && commissionCreator.Name.Length > 0) { SQLiteDataAccess.SaveCreator(commissionCreator); result = commissionCreator; } // Load selected creator else { result = creators.Where(x => x.Id == selectedCreator).FirstOrDefault(); } return(result); }
public static void SaveCreator(CreatorMVCModel commissionCreator) { using (IDbConnection cnn = new SqlConnection(GlobalConfig.CnnString())) { if (commissionCreator != null) { var obj = new { Name = commissionCreator.Name, LastName = commissionCreator.LastName, PhoneNumber = commissionCreator.PhoneNumber, EmailAddress = commissionCreator.EmailAddress }; cnn.Execute("insert into Creators (Name, LastName, PhoneNumber, EmailAddress)" + " values (@Name, @LastName, @PhoneNumber, @EmailAddress)", obj); commissionCreator.Id = cnn.Query <int>("select Id from Creators").OrderBy(x => x).Last(); } } }
public ActionResult Create(CommissionMVCCreateModel commissionModel) { try { string zipFolderPath = $"{ Server.MapPath("~") }GeneratedZips"; string docsFolderPath = $"{ Server.MapPath("~") }GeneratedDocuments"; string documentsStorageFolder = Server.MapPath("~") + "GeneratedDocuments\\"; string zipPath = $"{ Server.MapPath("~") }GeneratedZips\\result.zip"; string uploadsFolderPath = $"{ Server.MapPath("~") }Uploads"; string uploadsStorageFolder = $"{uploadsFolderPath}\\"; if (!Directory.Exists(uploadsFolderPath)) { Directory.CreateDirectory(uploadsFolderPath); } if (!Directory.Exists(docsFolderPath)) { Directory.CreateDirectory(docsFolderPath); } if (!Directory.Exists(zipFolderPath)) { Directory.CreateDirectory(zipFolderPath); } // Get Company information CompanyMVCModel documentCompany = GetCompanyInformation(commissionModel.CreationCompany, commissionModel.SelectedCompany); //Get Clients information List <ClientMVCModel> documentClients = GetClientsInformation(commissionModel.CreationClient, commissionModel.SelectedClients); //Get Products information List <ItemMVCModel> documentProducts = GetProductsInformation(commissionModel.SelectedProducts, commissionModel.ProductPrices, commissionModel.ProductQuantities); //Get Creator information CreatorMVCModel documentCreator = GetCreatorInformation(commissionModel.CommissionCreator, commissionModel.SelectedCreator); if (documentCompany == null || documentClients.Count == 0 || documentProducts.Count == 0 || documentCreator == null) { return(RedirectToAction("Create", "Commission")); } string fileName; // Saving uploaded file if (commissionModel.PostedFile != null) { fileName = Path.GetFileName(commissionModel.PostedFile.FileName); commissionModel.PostedFile.SaveAs(Server.MapPath("~") + "Uploads\\" + fileName); } if (documentClients.Count > 1) { foreach (var item in documentClients) { PersonalData personalData = new PersonalData(documentCompany.ConvertToCompanyModel(), item.ConvertToClientModel(), documentCreator.ConvertToCommissionCreatorModel()); string path = $"{documentsStorageFolder}{ documentCompany.CompanyName }_{ item.FullName.Replace("\"", "") }_{ DateTime.Today.ToShortDateString() }.docx"; path.Trim(); if (commissionModel.PostedFile != null) { DocumentHelper.GenerateDocumentFromTemplate($"{Server.MapPath("~")}\\Uploads\\{Path.GetFileName(commissionModel.PostedFile.FileName)}", path, personalData, documentProducts.ConvertToItemModel(), true); } else { DocumentHelper.GenerateNewDocument(path, personalData, documentProducts.ConvertToItemModel()); } } ZipFile.CreateFromDirectory(docsFolderPath, zipPath); // Append headers Response.AppendHeader("content-disposition", $"attachment; filename={ documentCompany.CompanyName }_{ DateTime.Today.ToShortDateString() }.zip"); // Open/Save dialog Response.ContentType = "application/octet-stream"; // Push it! Response.TransmitFile(zipPath); Response.End(); } else { PersonalData personalData = new PersonalData(documentCompany.ConvertToCompanyModel(), documentClients.First().ConvertToClientModel(), documentCreator.ConvertToCommissionCreatorModel()); string path = $"{documentsStorageFolder}{ documentCompany.CompanyName }_{ documentClients.First().FullName.Replace("\"", "") }_{ DateTime.Today.ToShortDateString() }.docx"; path.Trim(); if (commissionModel.PostedFile != null) { DocumentHelper.GenerateDocumentFromTemplate(uploadsStorageFolder + Path.GetFileName(commissionModel.PostedFile.FileName), path, personalData, documentProducts.ConvertToItemModel(), true); } else { DocumentHelper.GenerateNewDocument(path, personalData, documentProducts.ConvertToItemModel()); } // Append headers Response.AppendHeader("content-disposition", $"attachment; filename={ documentCompany.CompanyName }_{ documentClients.First().FullName.Replace("\"", "") }_{ DateTime.Today.ToShortDateString() }.docx"); // Open/Save dialog Response.ContentType = "application/octet-stream"; // Push it! Response.TransmitFile(path); Response.End(); } DeleteFiles(); return(RedirectToAction("Index", "Home")); } catch (Exception e) { DeleteFiles(); string msg = e.Message; return(RedirectToAction("Create", "Commission")); } }
// GET: Creators/Create public ActionResult Create() { CreatorMVCModel creator = new CreatorMVCModel(); return(View(creator)); }