public ActionResult Save(FormCollection form) { List<string> names, dates, descriptions, costs; //Get values names = new List<string>(form.GetValues("name[]")); dates = new List<string>(form.GetValues("date[]")); descriptions = new List<string>(form.GetValues("description[]")); costs = new List<string>(form.GetValues("cost[]")); string formName = string.Empty; //Create new form if (!string.IsNullOrEmpty(form["formName"])) { formName = form["formName"]; } // TODO: validation double totalCost = costs.Sum(c => double.Parse(c)); Models.Form newForm = new Models.Form(); newForm = FormHelper.Create(formName,totalCost); using (ExpenseEntities db = new ExpenseEntities()) { Models.Expense expense; for (int i = 0; i < names.Count; i++) { expense = new Models.Expense(); expense.Id = Guid.NewGuid(); expense.Name = names[i]; expense.Date = DateTime.Parse(dates[i]); expense.Description = descriptions[i]; expense.Cost = int.Parse(costs[i]); expense.FormId = newForm.Id; expense.StateId = newForm.StateId; db.Expenses.Add(expense); } db.SaveChanges(); } return RedirectToAction("New","Expense"); }
public static Models.Form Create(string name, double totalCost) { if (string.IsNullOrEmpty(name)) { name = SessionManager.Get(SessionManager.Keys.FullName).ToString() + " , " + DateTime.Now.ToString(); } ExpenseEntities db = new ExpenseEntities(); Models.Form form = new Models.Form(); form.Id = Guid.NewGuid(); form.Date = DateTime.Now; form.Description = SessionManager.Get(SessionManager.Keys.FullName).ToString() + " Adlı kullanıcının" + DateTime.Now.ToString() + "Tarihli Formu"; form.Name = name; form.OwnerId = Guid.Parse((SessionManager.Get(SessionManager.Keys.UserId).ToString())); State state = (State)db.States.Where(s => s.Name == "Pending").FirstOrDefault(); form.StateId = state.Id; form.Total = (int)totalCost; db.Forms.Add(form); db.SaveChanges(); return form; }
public ActionResult Reject(Guid id, string rejectText) { Expense.Models.Form form = new Expense.Models.Form(); ExpenseEntities db = new ExpenseEntities(); form = db.Forms.Where(f=> f.Id == id).FirstOrDefault(); IEnumerable<Models.Expense> expenses = db.Expenses.Where(e => e.FormId == id).ToList(); form.ManagerDescription = rejectText; State state = db.States.Where(s=> s.Name == "Reject").FirstOrDefault(); foreach (Models.Expense e in expenses) { if (e.State.Name != "Approved") { e.StateId = state.Id; } } form.StateId = state.Id; db.SaveChanges(); return RedirectToAction("List","Form"); }
public ActionResult Reject(Guid id) { Models.Expense expense = new Models.Expense(); ExpenseEntities db = new ExpenseEntities(); expense = db.Expenses.Where(e => e.Id == id).FirstOrDefault(); State state = db.States.Where(s => s.Name == "Reject").FirstOrDefault(); expense.StateId = state.Id; Guid formId = expense.FormId; db.SaveChanges(); return RedirectToAction("List", "Expense", new { id = formId }); }
public ActionResult Pay(Guid id) { Models.Form form = new Models.Form(); ExpenseEntities db = new ExpenseEntities(); form = db.Forms.Where(f => f.Id == id).FirstOrDefault(); State state = db.States.Where(s => s.Name == "Paid").FirstOrDefault(); form.StateId = state.Id; List<Models.Expense> expenses = new List<Models.Expense>(); expenses = db.Expenses.Where(e => e.FormId == id).ToList(); foreach (Models.Expense e in expenses) { e.StateId = state.Id; } db.SaveChanges(); AddExpenseToCrm(form); return RedirectToAction("List", "Form"); }