Example #1
0
        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");
        }
Example #2
0
        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;
        }
Example #3
0
          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");
        }
Example #4
0
        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 });
        }
Example #5
0
        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");
        }