Exemple #1
0
        private ExpenseDTO GetExpenseChannelInfo(string shortName, string expenseName, decimal expense)
        {
            CRUDOperation             cRUDOperation   = new CRUDOperation();
            List <tbl_ExpenseChannel> expenseChannels = cRUDOperation.GetExpenseChannelsByName(shortName, expenseName);

            ExpenseDTO expenseDTO = null;

            foreach (var item in expenseChannels)
            {
                if (expense <= item.Expense)
                {
                    expenseDTO = new ExpenseDTO {
                        Expense            = item.Expense,
                        ApproximateExpense = item.ExpenseFactor,
                    };
                    break;
                }
            }
            if (expenseDTO == null)
            {
                expenseDTO = new ExpenseDTO()
                {
                    Expense            = expense,
                    ApproximateExpense = expense * 2,
                };
            }
            return(expenseDTO);
        }
Exemple #2
0
        public async Task <ExpenseDTO> GetExpenseByIdAsync(int id)
        {
            SqlDataReader reader;

            using (var connection = new SqlConnection(_connectionString))
            {
                using (var cmd = new SqlCommand())
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = "[dbo].[SpGetExpense]";
                    cmd.Parameters.AddWithValue("@expenseId", id);
                    cmd.Connection = connection;
                    connection.Open();
                    reader = await cmd.ExecuteReaderAsync();
                }
            }

            await reader.ReadAsync();

            var result = new ExpenseDTO
            {
                ExpenseId  = id,
                BuildingId = Convert.ToInt32(reader["BuildingId"]),
                CategoryId = Convert.ToInt32(reader["CategoryId"]),
                From       = Convert.ToDateTime(reader["From"]),
                To         = Convert.ToDateTime(reader["To"]),
                Amount     = Convert.ToDecimal(reader["Amount"]),
                Name       = Convert.ToString(reader["Name"])
            };

            return(result);
        }
Exemple #3
0
        public async Task <bool> AddExpense(ExpenseDTO expense)
        {
            try
            {
                if (expense.Value > 0)
                {
                    var data = new Expense
                    {
                        Value         = expense.Value,
                        Reason        = expense.Reason,
                        DateOfExpense = expense.Date,
                        DateCreated   = DateTime.Now
                    };

                    data.VAT = ExtractVATFromValue(expense.Value);

                    _context.Expenses.Add(data);
                    await _context.SaveChangesAsync();

                    return(true);
                }
                return(false);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Exemple #4
0
        public async Task <IActionResult> AddNewExpense([FromBody] ExpenseDTO expenseDTO)
        {
            if (ModelState.IsValid)
            {
                var resp = await expenseService.AddExpense(expenseDTO);

                if (resp)
                {
                    return(Ok(new ResponseMessage
                    {
                        Status = "success"
                    }));
                }
                else
                {
                    return(Ok(new ResponseMessage
                    {
                        Status = "failed"
                    }));
                }
            }
            else
            {
                var errors = ModelState.Values.Select(cx => cx.Errors?.FirstOrDefault()?.ErrorMessage);
                return(Ok(new ResponseMessage
                {
                    Status = "failed",
                    ErrorMessages = errors.ToList()
                }));
            }
        }
        public void Add(int userId, ExpenseDTO expense)
        {
            var elementToAdd = new Expense(expense.ExpenseDate, expense.Cost, expense.ExpenseCause, userId);

            db.Expenses.InsertOnSubmit(elementToAdd);
            db.SubmitChanges();
        }
        public bool delete(ExpenseDTO pt)
        {
            string query = string.Empty;

            query += "DELETE FROM expense WHERE [ide] = @ide";;
            using (SqlConnection con = new SqlConnection(ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = con;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = query;
                    cmd.Parameters.AddWithValue("@ide", pt.IDE);
                    try
                    {
                        con.Open();
                        cmd.ExecuteNonQuery();
                        con.Close();
                        con.Dispose();
                    }
                    catch (Exception ex)
                    {
                        con.Close();
                        Console.WriteLine(ex);
                        throw;
                    }
                }
            }
            return(true);
        }
Exemple #7
0
        public async Task <IActionResult> PutExpense(int id, ExpenseDTO expense)
        {
            if (id != expense.Id)
            {
                return(BadRequest());
            }

            _context.Entry(expense).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ExpenseExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemple #8
0
        public ModifyExpensePage(ExpenseDTO selectedItem)
        {
            InitializeComponent();
            expenseId = selectedItem.Expenseid;
            int i = 0;

            categories = new List <Category>();

            cancelButton.Clicked += delegate(object sender, EventArgs args)
            {
                Application.Current.MainPage.Navigation.PopModalAsync();
            };


            foreach (var category in Enum.GetNames(typeof(CategoryEnum)))
            {
                categories.Add(new Category {
                    CategoryName = category, CategoryInt = i
                });
                i++;
            }
            modExpenseCategory.ItemsSource       = (System.Collections.IList)categories;
            this.modExpenseCategory.SelectedItem = selectedItem.Expensecategory;
            this.modMoneyUsed.Text   = (selectedItem.Moneyused).ToString();
            this.modExpenseName.Text = selectedItem.Expensename;
        }
        public void ProcessMailForExpenses(string subjectName)
        {
            List <MailMessage> claims = mailHelper.getStringMessages(subjectName);

            foreach (MailMessage claim in claims)
            {
                //store the request....
                RequestDAO request = new RequestDAO();
                if (request.shouldProcess(claim.id))
                {
                    Request req = request.createRequestOrGetRequest(claim.from, claim.body, DateTime.Now, claim.id);
                    //call the rest service.
                    XmlDocument xdoc              = RestHelper.callRestService(restEndPoint, claim.body);
                    ExpenseDTO  expenseDTO        = Deserialiser.deserialiseContent <ExpenseDTO>(xdoc);
                    ExpenseDAO  expenseDAO        = new ExpenseDAO();
                    Expense     expenseToValidate = expenseDAO.CreateExpense(expenseDTO, req);

                    ExpenseValidator validator = new ExpenseValidator(expenseToValidate);

                    mailHelper.sendMessage(claim.from, validator.getMessage(), claim.id, string.Format("response to claim dated {0}", claim.date));
                    //deserialise the content
                    //validate the request
                    //store - valid request or failure and respond to user
                }
            }
        }
Exemple #10
0
        public void GetExpenses_Success_Test()
        {
            // Arrange
            R_Expense expense = SampleExpense(1);

            IList <R_Expense> list = new List <R_Expense>();

            list.Add(expense);

            // create mock for repository
            var mock = new Mock <IExpenseRepository>();

            mock.Setup(s => s.GetExpenses()).Returns(list);

            // service
            ExpenseService expenseService = new ExpenseService();

            ExpenseService.Repository = mock.Object;

            // Act
            var        resultList = expenseService.GetExpenses();
            ExpenseDTO result     = resultList.FirstOrDefault();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.ExpenseId);
        }
        public async Task <ActionResult <ExpenseDTO> > PostExpenses(ExpenseDTO expenses)
        {
            _context.ExpenseDTO.Add(expenses);
            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetExpense), new { id = expenses.Id }, expenses));
        }
Exemple #12
0
        private ExpenseDTO Create(ExpenseViewModel viewModel)
        {
            try
            {
                log.Debug(ExpenseViewModel.FormatExpenseViewModel(viewModel));

                ExpenseDTO expense = new ExpenseDTO();

                // copy values
                viewModel.UpdateDTO(expense, null); //RequestContext.Principal.Identity.GetUserId());

                // audit
                expense.CreateBy = null; //RequestContext.Principal.Identity.GetUserId();
                expense.CreateOn = DateTime.UtcNow;

                // add
                log.Debug("_expenseService.AddExpense - " + ExpenseDTO.FormatExpenseDTO(expense));

                int id = _expenseService.AddExpense(expense);

                expense.ExpenseId = id;

                log.Debug("result: 'success', id: " + id);

                return(expense);
            }
            catch (Exception e)
            {
                // error
                log.Error(e.ToString());

                throw;
            }
        }
Exemple #13
0
        public void GetExpensesPaged_Success_Test()
        {
            // Arrange
            string searchTerm = "";
            int    pageIndex  = 0;
            int    pageSize   = 10;

            // list
            IList <R_Expense> list = new List <R_Expense>();

            for (int i = 1; i <= pageSize; i++)
            {
                list.Add(SampleExpense(i));
            }

            // create mock for repository
            var mock = new Mock <IExpenseRepository>();

            mock.Setup(s => s.GetExpenses(Moq.It.IsAny <string>(), Moq.It.IsAny <int>(), Moq.It.IsAny <int>())).Returns(list);

            // service
            ExpenseService expenseService = new ExpenseService();

            ExpenseService.Repository = mock.Object;

            // Act
            var        resultList = expenseService.GetExpenses(searchTerm, pageIndex, pageSize);
            ExpenseDTO result     = resultList.FirstOrDefault();

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.ExpenseId);
            Assert.AreEqual(10, resultList.Count);
        }
 private void ValidateExpense(ExpenseDTO expense)
 {
     if (expense.To < expense.From)
     {
         throw new ArgumentOutOfRangeException("Starting date cannot be less than Finish date.");
     }
 }
Exemple #15
0
        public IActionResult Create([FromBody] ExpenseDTO expenseDTO)
        {
            Expense expense = _mapper.Map <Expense>(expenseDTO);

            _expenseService.Create(expense);
            return(StatusCode(201));
        }
Exemple #16
0
        public async Task <int> InsertExpenseAsync(ExpenseDTO expense)
        {
            int id = 0;

            using (var connection = new SqlConnection(_connectionString))
            {
                using (var cmd = new SqlCommand())
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = "[dbo].[SpExpenseCreate]";
                    cmd.Parameters.AddWithValue("@buildingId", expense.BuildingId);
                    cmd.Parameters.AddWithValue("@categoryId", expense.CategoryId);
                    cmd.Parameters.AddWithValue("@from", expense.From);
                    cmd.Parameters.AddWithValue("@to", expense.To);
                    cmd.Parameters.AddWithValue("@amount", expense.Amount);
                    cmd.Parameters.AddWithValue("@name", expense.Name);
                    cmd.Connection = connection;
                    cmd.Connection.Open();
                    var result = await cmd.ExecuteScalarAsync();

                    id = Convert.ToInt32(result);
                }
            }
            return(id);
        }
        public IActionResult Post([FromBody] ExpenseDTO expense)
        {
            //var newExpense = new Expense
            //{
            //    Patient = (from p in _db.Users
            //               where p.FirstName == expense.FirstName && p.LastName == expense.LastName
            //               select p).FirstOrDefault(),
            //    ApptDate = expense.ApptDate,
            //    Cost = expense.Cost,
            //    Description = expense.Description,
            //    Physician = expense.Physician,
            //    Category = (from c in _db.Categories
            //                where c.CatType == expense.CategoryType
            //                select c).FirstOrDefault()
            //};
            //_db.Expenses.Add(newExpense);
            //_db.SaveChanges();

            if (ModelState.IsValid)
            {
                _expService.PostExpense(expense);
                return(Ok(expense));
            }
            return(HttpBadRequest(ModelState));
        }
        public bool edit(ExpenseDTO rm)
        {
            string query = string.Empty;

            query += "UPDATE expense SET [name] = @name, [kind] = @kind, [cost] = @cost, [date] = @date  WHERE [ide] = @ide";
            using (SqlConnection con = new SqlConnection(ConnectionString))
            {
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = con;
                    cmd.CommandType = System.Data.CommandType.Text;
                    cmd.CommandText = query;
                    cmd.Parameters.AddWithValue("@ide", rm.IDE);
                    cmd.Parameters.AddWithValue("@name", rm.NAME);
                    cmd.Parameters.AddWithValue("@kind", rm.KIND);
                    cmd.Parameters.AddWithValue("@date", rm.DATE);
                    cmd.Parameters.AddWithValue("@cost", rm.COST);
                    try
                    {
                        con.Open();
                        cmd.ExecuteNonQuery();
                        con.Close();
                        con.Dispose();
                    }
                    catch (Exception ex)
                    {
                        con.Close();
                        Console.WriteLine(ex);
                        throw;
                    }
                }
            }
            return(true);
        }
Exemple #19
0
        public ExpenseDTO GetExpense(int expenseId)
        {
            try
            {
                //Requires.NotNegative("expenseId", expenseId);

                log.Debug("expenseId: " + expenseId + " ");

                // get
                R_Expense t = Repository.GetExpense(expenseId);

                ExpenseDTO dto = new ExpenseDTO(t);

                log.Debug(ExpenseDTO.FormatExpenseDTO(dto));

                return(dto);
            }
            catch (System.Exception e)
            {
                // error
                log.Error(e.ToString());

                throw;
            }
        }
Exemple #20
0
        public int AddExpense(ExpenseDTO dto)
        {
            int id = 0;

            try
            {
                log.Debug(ExpenseDTO.FormatExpenseDTO(dto));

                R_Expense t = ExpenseDTO.ConvertDTOtoEntity(dto);

                // add
                id            = Repository.AddExpense(t);
                dto.ExpenseId = id;

                log.Debug("result: 'success', id: " + id);
            }
            catch (System.Exception e)
            {
                // error
                log.Error(e.ToString());

                throw;
            }

            return(id);
        }
Exemple #21
0
 public ExpenseVM(ExpenseDTO row)
 {
     this.Id                   = row.Id;
     this.UserId               = row.UserId;
     this.Expense_Title        = row.Expense_Title;
     this.Expense_Quantitative = row.Expense_Quantitative;
 }
Exemple #22
0
        public async Task <IEnumerable <ExpenseDTO> > GetExpensesAsync(int buildingId)
        {
            var result = new List <ExpenseDTO>();

            using (var connection = new SqlConnection(_connectionString))
            {
                using (var cmd = new SqlCommand())
                {
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                    cmd.CommandText = "[dbo].[SpGetExpenses]";
                    cmd.Parameters.AddWithValue("@buildingId", buildingId);

                    cmd.Connection = connection;
                    cmd.Connection.Open();
                    using (var dataReader = await cmd.ExecuteReaderAsync())
                    {
                        while (await dataReader.ReadAsync())
                        {
                            var expenseDTO = new ExpenseDTO();
                            expenseDTO.Amount     = Convert.ToDecimal(dataReader["Amount"]);
                            expenseDTO.ExpenseId  = Convert.ToInt32(dataReader["ExpenseID"]);
                            expenseDTO.CategoryId = Convert.ToInt32(dataReader["CategoryID"]);
                            expenseDTO.From       = Convert.ToDateTime(dataReader["From"]);
                            expenseDTO.To         = Convert.ToDateTime(dataReader["To"]);
                            expenseDTO.Name       = Convert.ToString(dataReader["Name"]);
                            expenseDTO.BuildingId = buildingId;
                            result.Add(expenseDTO);
                        }
                    }
                }
            }
            return(result);
        }
Exemple #23
0
        public List <ExpenseDTO> GetListOthersExpenseDTO(int ci, string d)
        {
            var      cruiseId = ci;
            DateTime?date     = null;

            try
            {
                date = DateTime.ParseExact(d, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            }
            catch { }
            var listExpense          = BookingReportBLL.ExpenseGetAllByCriterion(cruiseId, date).Future().ToList();
            var listOthersExpense    = listExpense.Where(x => x.Type == "Others").ToList();
            var listOthersExpenseDTO = new List <ExpenseDTO>();

            listOthersExpense.ForEach(x =>
            {
                var guideExpenseDTO = new ExpenseDTO()
                {
                    Id                = x.Id,
                    Name              = x.Name,
                    Phone             = x.Phone,
                    Cost              = x.Cost.ToString("#,##0.##"),
                    CruiseId          = cruiseId,
                    Date              = date.HasValue ? date.Value.ToString("dd/MM/yyyy") : "",
                    Operator_FullName = x.Operator != null ? x.Operator.FullName : "",
                    Operator_Phone    = x.Operator != null ? x.Operator.Phone : "",
                    Operator_UserId   = x.Operator != null ? x.Operator.Id : -1,
                    LockStatus        = x.LockStatus,
                };
                listOthersExpenseDTO.Add(guideExpenseDTO);
            });
            return(listOthersExpenseDTO);
        }
Exemple #24
0
        public void AddExpenseInvalidPaymentModeId(int paymentModeId)
        {
            var expenseDto = new ExpenseDTO {
                PaymentModeId = paymentModeId
            };

            Assert.ThrowsAsync <ArgumentOutOfRangeException>(() => expenseWorker.AddExpense(expenseDto));
        }
Exemple #25
0
        public void AddExpenseInvalidExpenseSubTypeId(int expenseSubTypeId)
        {
            var expenseDto = new ExpenseDTO {
                ExpenseSubTypeId = expenseSubTypeId
            };

            Assert.ThrowsAsync <ArgumentOutOfRangeException>(() => expenseWorker.AddExpense(expenseDto));
        }
        public async Task AddExpenseAsync(ExpenseDTO expense)
        {
            ValidateExpense(expense);
            var gateway = _gatewayFactory.CreateExpenseTableGateway();
            var id      = await gateway.InsertExpenseAsync(expense);

            expense.ExpenseId = id;
        }
Exemple #27
0
        public void AddExpenseInvalidUserAccountId(int userAccountId)
        {
            var expenseDto = new ExpenseDTO {
                UserAccountId = userAccountId
            };

            Assert.ThrowsAsync <ArgumentOutOfRangeException>(() => expenseWorker.AddExpense(expenseDto));
        }
Exemple #28
0
        public bool AddExpense(string expenseName, string expenseCost)
        {
            ExpenseDTO expenseToAdd = new ExpenseDTO();

            expenseToAdd.Name = expenseName;
            expenseToAdd.Cost = decimal.Parse(expenseCost);

            return(cmLogicService.insertExpense(expenseToAdd));
        }
Exemple #29
0
        public ExpenseDTO updateExpense(ExpenseDTO Expense)
        {
            var selectedExpense = uow.GetRepository <Expense>().Get(z => z.Id == Expense.Id);

            selectedExpense = MapperFactory.CurrentMapper.Map(Expense, selectedExpense);
            uow.GetRepository <Expense>().Update(selectedExpense);
            uow.SaveChanges();
            return(MapperFactory.CurrentMapper.Map <ExpenseDTO>(selectedExpense));
        }
        public void ShowExpenseEditView(ExpenseDTO expenseDTO, List <ExpenseTypeDTO> expenseTypeList)
        {
            expenseTypeComboBox.DataSource    = expenseTypeList;
            expenseTypeComboBox.DisplayMember = "ExpenseTypeName";

            datePicker.Value        = expenseDTO.Date;
            costNumericPicker.Value = (decimal)expenseDTO.Cost;
            ShowDialog();
        }