public async Task <ResponseResult> CheckBangKe(DateTime date) { var result = new ResponseResult(); try { var transportations = await _transportationRepo.Where(e => e.TransportDate.Month == date.Month && e.TransportDate.Year == date.Year && e.Status == CommonConstants.Status.Active); transportations = transportations.OrderBy(e => e.TransportDate); if (transportations.Count() > 0) { ResponseResultHelper.MakeSuccess(result); } else { ResponseResultHelper.MakeFailure(result, $"Tháng {date.Month}/{date.Year} không có dữ liệu"); } } catch (Exception ex) { ResponseResultHelper.MakeException(result, ex); } return(result); }
public async Task <ResponseResult> UpdateTransportationMoney(DateTime fromDate, DateTime toDate) { var result = new ResponseResult(); var trackings = new List <UpdateTransportationMoney>(); try { if (fromDate.Date > toDate.Date) { ResponseResultHelper.MakeFailure(result, "Từ ngày phải bé hơn Đến ngày"); return(result); } if (toDate.Month != fromDate.Month) { ResponseResultHelper.MakeFailure(result, "Pham vi phải trong vòng 1 tháng"); return(result); } var transportations = _repo.AsQueryable().Where(t => t.Status == CommonConstants.Status.Active && fromDate.Date <= t.TransportDate.Date && t.TransportDate.Date <= toDate.Date).ToList(); if (!transportations.Any()) { ResponseResultHelper.MakeFailure(result, "Không tìm thấy dữ liệu"); return(result); } var datetime = DateTime.UtcNow; foreach (var transportation in transportations) { var obj = new UpdateTransportationMoney(); obj.TransportationId = transportation.Id; obj.OldMoney = transportation.Money; obj.TransportationDate = transportation.TransportDate; var companyIds = JsonConvert.DeserializeObject <List <int> >(transportation.CompanyIds); var newMoney = await GenerateMoney(companyIds, transportation.CarId); transportation.Money = newMoney.Data; transportation.UpdatedDate = datetime; transportation.UpdatedBy = contextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; obj.NewMoney = newMoney.Data; trackings.Add(obj); } var saveChange = await _repo.SaveChanges(result); if (saveChange) { result.Data = trackings; ResponseResultHelper.MakeSuccess(result, "Cập nhập giá thành công"); } } catch (Exception ex) { ResponseResultHelper.MakeException(result, ex); } return(result); }
public async Task <ResponseResult> Filter(DateTime fromDate, DateTime toDate) { var result = new ResponseResult(); try { if (fromDate.Date > toDate.Date) { ResponseResultHelper.MakeFailure(result, "Từ ngày phải bé hơn Đến ngày"); return(result); } if ((toDate.Date - fromDate.Date).TotalDays > 92) { ResponseResultHelper.MakeFailure(result, "Pham vi lọc phải bé hơn 3 tháng"); return(result); } //var query = await _repo.Where(tr => fromDate.Date <= tr.TransportDate.Date && tr.TransportDate.Date <= toDate.Date && tr.Status != CommonConstants.Status.Deleted); //var transportations = query.OrderBy(tr=>tr.DocumentNumber).ToList(); //var transportationGetAllViewModels = new List<TransportationGetAllViewModel>(); //foreach (var transportation in transportations) //{ // _repo.EntryReference(transportation, e => e.Car); // _repo.EntryReference(transportation, e => e.DriverPrimary); // _repo.EntryReference(transportation, e => e.DriverSecondary); // var newRecord = _mapper.Map<Transportation, TransportationGetAllViewModel>(transportation); // var companiesString = new List<string>(); // var companyIds = JsonConvert.DeserializeObject<List<int>>(transportation.CompanyIds); // foreach (var companyId in companyIds) // { // var company = await _companyRepo.GetById(companyId); // if (company != null) // { // companiesString.Add($"{company.Code}|{company.Name}"); // } // } // newRecord.Companies = string.Join(" - ", companiesString); // transportationGetAllViewModels.Add(newRecord); //} var dbConnectionSQL = DbConnectionSQL.Instance(); var dbCommand = dbConnectionSQL.GetCommand(dbConnectionSQL.GetConnection(), "TransportationFilter", CommandType.StoredProcedure); var parameters = new List <DbParameter>(); var fromDateParam = dbCommand.CreateParameter(); fromDateParam.DbType = DbType.Date; fromDateParam.ParameterName = "FromDate"; fromDateParam.Value = fromDate.Date; parameters.Add(fromDateParam); var toDateParam = dbCommand.CreateParameter(); toDateParam.DbType = DbType.Date; toDateParam.ParameterName = "ToDate"; toDateParam.Value = toDate.Date; parameters.Add(toDateParam); var dataTable = dbConnectionSQL.ExecuteTable("TransportationFilter", parameters); var transportationGetAllViewModels = dbConnectionSQL.ConvertDataTableToList <TransportationGetAllViewModel>(dataTable); var pagination = new Pagination(); pagination.Records = transportationGetAllViewModels; pagination.TotalRecords = transportationGetAllViewModels.Count; result.Data = pagination; ResponseResultHelper.MakeSuccess(result); } catch (Exception ex) { ResponseResultHelper.MakeException(result, ex); } return(result); }