public async Task <ResponseMessageDto> Delete(ExpenseRateRequestDto dto)
        {
            try
            {
                await _asyncRepository.DeleteAsync(_mapper.Map <DailyExpense>(dto));

                return(new ResponseMessageDto()
                {
                    Id = dto.Id,
                    SuccessMessage = ResponseMessages.DeleteSuccessMessage,
                    Success = true,
                    Error = false
                });
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(new ResponseMessageDto()
                {
                    Id = Convert.ToInt16(Enums.FailureId),
                    FailureMessage = ResponseMessages.InsertionFailureMessage,
                    Success = false,
                    Error = true,
                    ExceptionMessage = e.InnerException != null ? e.InnerException.Message : e.Message
                });
            }
        }
 public async Task <IActionResult> Post([FromBody] ExpenseRateRequestDto dto)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest());
     }
     return(Ok(await _expenseRatesService.Post(dto)));
 }
 public async Task <IActionResult> Delete([FromBody] ExpenseRateRequestDto dto)
 {
     try
     {
         return(Ok(await _expenseRatesService.Delete(dto)));
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }
        public async Task <ResponseMessageDto> Put(ExpenseRateRequestDto dto)
        {
            try
            {
                if (!await _expenseRateRepository.IsExpenseInsertedOnCurrentDate(dto.ExpenseId, dto.Id, dto.CreatedOn.Date))
                {
                    //var expenseRate = await _expenseRateRepository.Put(new ExpenseRates()
                    //{
                    //    PkExpenseRatesId = dto.PkExpenseRatesId,
                    //    FkExpenseId = dto.FkExpenseId,
                    //    Rate = dto.Rate,
                    //    LastUpdatedOn = dto.date,
                    //    LastUpdatedById = dto.LastUpdatedById
                    //});
                    await _asyncRepository.PartialUpdate(dto, m => ///yahan woh values aengi jo ke update karni hongi
                    {
                        //m.CustomerTypeId = dto.CustomerTypeId;
                        m.ExpenseId = dto.ExpenseId;
                        m.Rate      = dto.Rate;
                    });

                    return(new ResponseMessageDto()
                    {
                        Id = dto.Id,
                        SuccessMessage = ResponseMessages.UpdateSuccessMessage,
                        Success = true,
                        Error = false
                    });
                }
                return(new ResponseMessageDto()
                {
                    Id = Convert.ToInt16(Enums.FailureId),
                    SuccessMessage = ResponseMessages.ExpenseAlreadyHaveOnThisDate,
                    Success = true,
                    Error = false
                });
            }

            catch (Exception e)
            {
                Console.WriteLine(e);
                return(new ResponseMessageDto()
                {
                    Id = Convert.ToInt16(Enums.FailureId),
                    FailureMessage = ResponseMessages.InsertionFailureMessage,
                    Success = false,
                    Error = true,
                    ExceptionMessage = e.InnerException != null ? e.InnerException.Message : e.Message
                });
            }
        }
 public async Task <IActionResult> Put([FromBody] ExpenseRateRequestDto dto)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(BadRequest());
         }
         return(Ok(await _expenseRatesService.Put(dto)));
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
         throw;
     }
 }
        public async Task <ResponseMessageDto> Post(ExpenseRateRequestDto dto)
        {
            try
            {
                if (!await _expenseRateRepository.IsExpenseInsertedOnCurrentDate(dto.ExpenseId, dto.CreatedOn))
                {
                    var dailyExpense = await _asyncRepository.AddAsync(_mapper.Map <DailyExpense>(dto));

                    return(new ResponseMessageDto()
                    {
                        Id = dailyExpense.Id,
                        SuccessMessage = ResponseMessages.InsertionSuccessMessage,
                        Success = true,
                        Error = false
                    });
                }
                return(new ResponseMessageDto()
                {
                    Id = Convert.ToInt16(Enums.FailureId),
                    FailureMessage = ResponseMessages.ExpenseAlreadyHaveOnThisDate,
                    Success = false,
                    Error = true
                });
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(new ResponseMessageDto()
                {
                    Id = Convert.ToInt16(Enums.FailureId),
                    FailureMessage = ResponseMessages.InsertionFailureMessage,
                    Success = false,
                    Error = true,
                    ExceptionMessage = e.InnerException != null ? e.InnerException.Message : e.Message
                });
            }
        }