Beispiel #1
0
        public async Task <ActionResult> Create([Bind(Include = "ExpenseId,ActualAmount,SubCategoryId,DebitDate,ForMonth,FinancialYear")] ExpenseDetail expenseDetail)
        {
            if (ModelState.IsValid)
            {
                var isRecurring = db.SubCategories.Where(x => x.SubCategoryId == expenseDetail.SubCategoryId).FirstOrDefault();
                if (isRecurring.StartDate != null && isRecurring.EndDate != null)
                {
                    var yearsDiff = DateTime.Today.Year - isRecurring.StartDate.Value.Year;
                    if (yearsDiff == 0)
                    {
                        expenseDetail.MonthsPassed = DateTime.Today.Month - isRecurring.StartDate.Value.Month;
                    }
                    else
                    {
                        expenseDetail.MonthsPassed = (yearsDiff * 12) + (DateTime.Today.Month - isRecurring.StartDate.Value.Month);
                    }
                }
                // expenseDetail.AmountAccumulated = isRecurring.ExpectedAmount * savingsDetail.MonthsPassed;
                db.ExpenseDetails.Add(expenseDetail);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(expenseDetail));
        }
        public static ExpenseDetailModel ToModelWithParticant(this ExpenseDetail entity)
        {
            var model = new ExpenseDetailModel()
            {
                Id          = entity.Id,
                MId         = entity.MId,
                ODate       = entity.ODate,
                EType       = (ExpenseType)entity.EType,
                Remark      = entity.Remark,
                PCount      = entity.PCount,
                Amount      = entity.Amount,
                ExpenseMain = entity.ExpenseMain.ToModelWithAuditHistory(),
                ExpenseType = (ExpenseType)entity.EType
            };

            List <ExpenseMemberModel> result = new List <ExpenseMemberModel>();

            if (entity.ExpenseMembers != null && entity.ExpenseMembers.Count > 0)
            {
                foreach (ExpenseMember item in entity.ExpenseMembers)
                {
                    result.Add(item.ToModel());
                    model.ExpenseMemberNames = model.ExpenseMemberNames + item.User.EnglishName + ",";
                }
                model.ExpenseMemberNames = model.ExpenseMemberNames.Remove(model.ExpenseMemberNames.Length - 1);
            }
            model.ExpenseMembers = result;
            return(model);
        }
        public ActionResult EditDetail(int id, int ExpenseSummaryID)
        {
            TempData["Message"] = null;
            ExpenseDetail obj = new ExpenseDetail();

            return(View(obj));
        }
Beispiel #4
0
        public string SaveExpenseDetailInfo(ExpenseDetail objExpenseDetailInfo)
        {
            int noRowCount = 0;

            objDataAccess = DataAccess.NewDataAccess();
            objDbCommand  = objDataAccess.GetCommand(true, IsolationLevel.Serializable);
            objDbCommand.AddInParameter("ExpenseType", objExpenseDetailInfo.ExpenseType);
            objDbCommand.AddInParameter("CreatedBy", SessionUtility.STSessionContainer.UserID);

            try
            {
                noRowCount = objDataAccess.ExecuteNonQuery(objDbCommand, "[dbo].uspCreateExpenseDetail", CommandType.StoredProcedure);

                if (noRowCount > 0)
                {
                    objDbCommand.Transaction.Commit();
                    return("Save Successfully");
                }
                else
                {
                    objDbCommand.Transaction.Rollback();
                    return("Save Failed");
                }
            }
            catch (Exception ex)
            {
                objDbCommand.Transaction.Rollback();
                throw new Exception("Database Error Occured", ex);
            }
            finally
            {
                objDataAccess.Dispose(objDbCommand);
            }
        }
        public ExpenseDetail UpdateExpenseDetail(ExpenseDetail ExpenseDetail)
        {
            var c = ctx.ExpenseDetail.Where(x => x.ID == ExpenseDetail.ID).First();

            if (c != null)
            {
                c.ExpenseID     = ExpenseDetail.ExpenseID;
                c.ExpenseTypeID = ExpenseDetail.ExpenseTypeID;
                c.CountryID     = ExpenseDetail.CountryID;
                c.Comment       = ExpenseDetail.Comment;
                c.Year          = ExpenseDetail.Year;
                c.Month01       = ExpenseDetail.Month01;
                c.Month02       = ExpenseDetail.Month02;
                c.Month03       = ExpenseDetail.Month03;
                c.Month04       = ExpenseDetail.Month04;
                c.Month05       = ExpenseDetail.Month05;
                c.Month06       = ExpenseDetail.Month06;
                c.Month07       = ExpenseDetail.Month07;
                c.Month08       = ExpenseDetail.Month08;
                c.Month09       = ExpenseDetail.Month09;
                c.Month08       = ExpenseDetail.Month10;
                c.Month10       = ExpenseDetail.Month11;
                c.Month11       = ExpenseDetail.Month12;
                ctx.SaveChanges();
            }
            return(c);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            ExpenseDetail expenseDetail = db.ExpenseDetails.Find(id);

            db.ExpenseDetails.Remove(expenseDetail);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #7
0
 public void AddNewExpenseDetails(ExpenseDetail expenseDetail)
 {
     using (Billing_Customized_Entities expenseDetails = new Billing_Customized_Entities())
     {
         expenseDetails.ExpenseDetails.Add(expenseDetail);
         expenseDetails.SaveChanges();
     }
 }
Beispiel #8
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            ExpenseDetail expenseDetail = await db.ExpenseDetails.FindAsync(id);

            db.ExpenseDetails.Remove(expenseDetail);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
        public ActionResult Edit(ExpenseDetail objExpenseDetailInfo)
        {
            if (ModelState.IsValid)
            {
                ExpenseDetailBLL objExpenseDetailBLL = new ExpenseDetailBLL();

                objExpenseDetailBLL.UpdateExpenseDetailInfo(objExpenseDetailInfo);
            }
            return(RedirectToAction("Index", "ExpenseDetail"));
        }
 public ActionResult Edit([Bind(Include = "ExpenseDetailID,ExpenseItemID,ExpenseDetailRemark,ExpenseDate,AddedDate,AddedUser,Deleteddate,DeletedUser,ModifiedDate,ModifiedUser,IsDeleted")] ExpenseDetail expenseDetail)
 {
     if (ModelState.IsValid)
     {
         db.Entry(expenseDetail).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ExpenseItemID = new SelectList(db.ExpenseItems, "ExpenseItemID", "ExpenseItemName", expenseDetail.ExpenseItemID);
     return(View(expenseDetail));
 }
        public void AddNewExpense(DateTime date, string details, decimal expenseAmount)
        {
            ExpenseDetail expenseDetail = new ExpenseDetail()
            {
                ExpenseDate    = date.Date,
                ExpenseDetails = details,
                ExpenseAmount  = Math.Round(expenseAmount, 2),
            };

            cashierDataAccess.AddNewExpenseDetails(expenseDetail);
        }
Beispiel #12
0
        public async Task <ActionResult> Edit(ExpenseDetail expenseDetail)
        {
            if (ModelState.IsValid)
            {
                db.Entry(expenseDetail).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Edit", "MonthlyPlanner", new { planId = expenseDetail.planId }));
            }
            return(RedirectToAction("ListIndex", "MonthlyPlanner"));
        }
Beispiel #13
0
        public ActionResult Detail(int id)
        {
            TempData["Message"] = null;
            ExpenseDetail obj = new ExpenseDetail();

            obj.HasBill = true;
            ExpenseManager expenseManager = new ExpenseManager();

            ViewBag.ExpenseSummaryName = expenseManager.GetExpenseSummaryName(id);
            ViewBag.ExpenseSummaryID   = id;
            ViewBag.Category           = new SelectList(expenseManager.GetExpenseCategory(), "ID", "Name");
            return(View(obj));
        }
Beispiel #14
0
        public void DetailExpense_CreatingValidDetailExpense_ReturnDetailExpenseIsValid()
        {
            //Arrange
            var vendor      = "Viaduct Steakhouse";
            var description = "development team’s project end celebration dinner";
            var date        = new DateTime(2017, 4, 27);

            //Act
            var expenseDetail = new ExpenseDetail(vendor, description, date);

            //Assert
            Assert.True(expenseDetail.IsValid());
        }
Beispiel #15
0
        public IHttpActionResult DeleteInvoiceDtailsTable(int id)
        {
            ExpenseDetail expensedetail = db.ExpenseDetails.Find(id);

            if (expensedetail == null)
            {
                return(NotFound());
            }
            db.ExpenseDetails.Remove(expensedetail);
            db.SaveChanges();

            return(Ok(expensedetail));
        }
Beispiel #16
0
        public void DetailExpense_CreatingDetailExpenseWithDateLessThanMinSQLDate_ReturnDetailExpenseIsInvalid()
        {
            //Arrange
            var vendor      = "Viaduct Steakhouse";
            var description = "development team’s project end celebration dinner";
            var date        = new DateTime(1752, 12, 31);

            //Act
            var expenseDetail = new ExpenseDetail(vendor, description, date);

            //Assert
            Assert.False(expenseDetail.IsValid());
        }
Beispiel #17
0
        public void DetailExpense_CreatingDetailExpenseWithoutDescription_ReturnDetailExpenseIsInvalid()
        {
            //Arrange
            var vendor      = "Viaduct Steakhouse";
            var description = string.Empty;
            var date        = new DateTime(2017, 4, 27);

            //Act
            var expenseDetail = new ExpenseDetail(vendor, description, date);

            //Assert
            Assert.False(expenseDetail.IsValid());
        }
Beispiel #18
0
        public void DetailExpense_CreatingDetailExpenseWithoutVendor_ReturnDetailExpenseIsInvalid()
        {
            //Arrange
            var vendor      = string.Empty;
            var description = "development team’s project end celebration dinner";
            var date        = new DateTime(2017, 4, 27);

            //Act
            var expenseDetail = new ExpenseDetail(vendor, description, date);

            //Assert
            Assert.False(expenseDetail.IsValid());
        }
Beispiel #19
0
        // GET: ExpenseDetails/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ExpenseDetail expenseDetail = await db.ExpenseDetails.FindAsync(id);

            if (expenseDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(expenseDetail));
        }
        // GET: POS/ExpenseDetails/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ExpenseDetail expenseDetail = db.ExpenseDetails.Find(id);

            if (expenseDetail == null)
            {
                return(HttpNotFound());
            }
            return(View(expenseDetail));
        }
        public async Task <ActionResult <ExpenseDetail> > GetExpense(long id)
        {
            var expense = await _context
                          .Expenses
                          .Include(e => e.Comments)
                          .FirstOrDefaultAsync(f => f.Id == id);

            if (expense == null)
            {
                return(NotFound());
            }

            return(ExpenseDetail.FromExpense(expense));
        }
Beispiel #22
0
        private static ExpenseDetailDTO ToExpenseDetailDTO(ExpenseDetail details)
        {
            if (details == null)
            {
                return(new ExpenseDetailDTO());
            }

            return(new ExpenseDetailDTO
            {
                Vendor = details.Vendor,
                Description = details.Description,
                Date = details.Date
            });
        }
        // GET: POS/ExpenseDetails/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ExpenseDetail expenseDetail = db.ExpenseDetails.Find(id);

            if (expenseDetail == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ExpenseItemID = new SelectList(db.ExpenseItems, "ExpenseItemID", "ExpenseItemName", expenseDetail.ExpenseItemID);
            return(View(expenseDetail));
        }
        public ActionResult Create([Bind(Include = "ExpenseDetailID,ExpenseItemID,ExpenseDetailRemark,ExpenseDate,AddedDate,AddedUser,Deleteddate,DeletedUser,ModifiedDate,ModifiedUser,IsDeleted")] ExpenseDetail expenseDetail)
        {
            expenseDetail.AddedUser = HttpContext.Session["username"].ToString();
            expenseDetail.IsDeleted = false;
            expenseDetail.AddedDate = DateTime.Now;
            if (ModelState.IsValid)
            {
                db.ExpenseDetails.Add(expenseDetail);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.ExpenseItemID = new SelectList(db.ExpenseItems, "ExpenseItemID", "ExpenseItemName", expenseDetail.ExpenseItemID);
            return(View(expenseDetail));
        }
Beispiel #25
0
 public IHttpActionResult PostEpenseDetail([FromBody] ExpenseDetail ExpenseDetail)
 {
     using (DBEntities entities = new DBEntities())
     {
         try
         {
             ExpenseDetail = entities.ExpenseDetails.Add(ExpenseDetail);
             entities.SaveChanges();
             return(Ok(ExpenseDetail));
         }
         catch (Exception ex)
         {
             return(BadRequest());
         }
     }
 }
Beispiel #26
0
        private Expense GetValidExpense()
        {
            var costCentre    = "DEV002";
            var total         = 1024.01m;
            var paymentMethod = "personal card";
            var vendor        = "Viaduct Steakhouse";
            var description   = "development team’s project end celebration dinner";
            var date          = new DateTime(2017, 4, 27);

            var expense       = new Expense(costCentre, total, paymentMethod);
            var expenseDetail = new ExpenseDetail(vendor, description, date);

            expense.CreateExpenseDetail(expenseDetail);

            return(expense);
        }
Beispiel #27
0
        public IEnumerable <ExpenseDetail> ExpenseDetailReport(int clientNo, int ProjectNo)
        {
            try
            {
                var           connectionString = ConfigurationManager.AppSettings["PayMe-Connectionstring"];
                SqlConnection connection       = new SqlConnection(connectionString);
                SqlCommand    cmd = new SqlCommand("GetExpenseDetailReport", connection);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@ClientId", clientNo);
                cmd.Parameters.AddWithValue("@ProjectId", ProjectNo);
                connection.Open();
                SqlDataReader        reader            = cmd.ExecuteReader();
                List <ExpenseDetail> ExpenseDetailList = new List <ExpenseDetail>();
                if (reader.HasRows)
                {
                    while (reader.Read())
                    {
                        ExpenseDetail expenseDetail = new ExpenseDetail();
                        expenseDetail.Name              = reader["Name"].ToString();
                        expenseDetail.ProjectName       = reader["ProjectName"].ToString();
                        expenseDetail.ClientName        = reader["ClientName"].ToString();
                        expenseDetail.UserName          = reader["UserName"].ToString();
                        expenseDetail.ExpenseStatusName = reader["ExpenseStatusName"].ToString();
                        expenseDetail.Description       = reader["Description"].ToString();

                        expenseDetail.ID               = Convert.ToInt32(reader["ID"].ToString());
                        expenseDetail.CategoryID       = Convert.ToInt32(reader["CategoryID"].ToString());
                        expenseDetail.CategoryName     = reader["CategoryName"].ToString();
                        expenseDetail.ExpenseSummaryID = Convert.ToInt32(reader["ExpenseSummaryID"].ToString());
                        expenseDetail.CurrencyBillNo   = reader["CurrencyBillNo"].ToString();
                        expenseDetail.Amount           = Convert.ToDecimal(reader["Amount"] == DBNull.Value ? 0 : reader["Amount"]);
                        expenseDetail.BillDate         = Convert.ToDateTime(reader["BillDate"].ToString());
                        expenseDetail.Location         = reader["Location"].ToString();
                        expenseDetail.HasAttachment    = Convert.ToBoolean(reader["HasAttachment"]);
                        expenseDetail.Notes            = reader["Notes"].ToString();
                        ExpenseDetailList.Add(expenseDetail);
                    }
                }
                reader.Close();
                connection.Close();
                return(ExpenseDetailList);
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message.ToString());
            }
        }
Beispiel #28
0
        public ActionResult Detail(int id, ExpenseDetail expenseDetail)
        {
            try
            {
                ExpenseManager expenseManager = new ExpenseManager();
                expenseDetail.ExpenseSummaryID = id;
                int value = expenseManager.CreateExpenseDetail(expenseDetail);
                ////create path to store in database
                //// expenseDetail.user_image = "~/image/" + expenseDetail.expenseAttachment.FileName;
                //var t = Server.MapPath("Images") + "/" + expenseDetail.expenseAttachment.FileName;
                ////store image in folder
                //expenseDetail.expenseAttachment.SaveAs(Server.MapPath("~/Images") + "/" + expenseDetail.expenseAttachment.FileName);
                byte[] bytes;
                if (expenseDetail.expenseAttachment != null)
                {
                    using (BinaryReader br = new BinaryReader(expenseDetail.expenseAttachment.InputStream))
                    {
                        bytes = br.ReadBytes(expenseDetail.expenseAttachment.ContentLength);
                    }
                    string constr = ConfigurationManager.AppSettings["PayMe-Connectionstring"];
                    using (SqlConnection con = new SqlConnection(constr))
                    {
                        string query = "INSERT INTO ExpenseDetailDocument VALUES (@ExpenseDetailID,@Name, @ContentType, @Data)";
                        using (SqlCommand cmd = new SqlCommand(query))
                        {
                            cmd.Connection = con;
                            cmd.Parameters.AddWithValue("@ExpenseDetailID", value);
                            cmd.Parameters.AddWithValue("@Name", Path.GetFileName(expenseDetail.expenseAttachment.FileName));
                            cmd.Parameters.AddWithValue("@ContentType", expenseDetail.expenseAttachment.ContentType);
                            cmd.Parameters.AddWithValue("@Data", bytes);

                            con.Open();
                            cmd.ExecuteNonQuery();
                            con.Close();
                        }
                    }
                }
                TempData["Message"] = "Expense Detail Created Successfully";

                return(RedirectToAction("Detail/" + id));
            }
            catch (Exception ex)
            {
                TempData["Message"] = "Error Occured";
                return(View());
            }
        }
        public static ExpenseDetailModel ToModel(this ExpenseDetail entity)
        {
            var model = new ExpenseDetailModel()
            {
                Id          = entity.Id,
                MId         = entity.MId,
                ODate       = entity.ODate,
                EType       = (ExpenseType)entity.EType,
                Remark      = entity.Remark,
                PCount      = entity.PCount,
                Amount      = entity.Amount,
                ExpenseMain = entity.ExpenseMain.ToModel(),
                ExpenseType = (ExpenseType)entity.EType
            };

            return(model);
        }
Beispiel #30
0
        internal static Expense ToExpense(ExpenseDTO expenseDTO)
        {
            if (expenseDTO == null ||
                expenseDTO.Details == null)
            {
                return(null);
            }

            var expense = new Expense(expenseDTO.CostCentre, expenseDTO.Total, expenseDTO.PaymentMethod);

            var expenseDetail = new ExpenseDetail(
                expenseDTO.Details.Vendor,
                expenseDTO.Details.Description,
                expenseDTO.Details.Date);

            expense.CreateExpenseDetail(expenseDetail);

            return(expense);
        }