public async Task <List <AppGeneralQuotes> > GetAll(AppGeneralQuotesQueryFilter filter) { bool esVendedor = false; MtrVendedor vendedor = await _context.MtrVendedor.Where(x => x.Codigo == filter.UsuarioConectado).FirstOrDefaultAsync(); if (vendedor != null) { esVendedor = true; } List <AppGeneralQuotes> result = new List <AppGeneralQuotes>(); try { if (esVendedor) { if (filter.SearchText != null && filter.SearchText.Length > 0) { result = await _context.AppGeneralQuotes.Where(x => x.IdVendedor == filter.UsuarioConectado.ToString() && x.SearchText.Trim().ToLower().Contains(filter.SearchText.Trim().ToLower())).OrderByDescending(x => x.Fecha).Skip((filter.PageNumber - 1) * filter.PageSize).Take(filter.PageSize).ToListAsync(); } else if (filter.Cotizacion != null && filter.Cotizacion.Length > 0) { result = await _context.AppGeneralQuotes.Where(x => x.IdVendedor == filter.UsuarioConectado.ToString() && x.Cotizacion.Trim() == filter.Cotizacion.Trim()).OrderByDescending(x => x.Fecha).Skip((filter.PageNumber - 1) * filter.PageSize).Take(filter.PageSize).ToListAsync(); } else { result = await _context.AppGeneralQuotes.Where(x => x.IdVendedor == filter.UsuarioConectado.ToString()).OrderByDescending(x => x.Fecha).Skip((filter.PageNumber - 1) * filter.PageSize).Take(filter.PageSize).ToListAsync(); } } else { if (filter.SearchText != null && filter.SearchText.Length > 0) { result = await _context.AppGeneralQuotes.Where(x => x.SearchText.Trim().ToLower().Contains(filter.SearchText.Trim().ToLower())).OrderByDescending(x => x.Fecha).Skip((filter.PageNumber - 1) * filter.PageSize).Take(filter.PageSize).ToListAsync(); } else if (filter.Cotizacion != null && filter.Cotizacion.Length > 0) { result = await _context.AppGeneralQuotes.Where(x => x.Cotizacion.Trim() == filter.Cotizacion.Trim()).OrderByDescending(x => x.Fecha).Skip((filter.PageNumber - 1) * filter.PageSize).Take(filter.PageSize).ToListAsync(); } else { result = await _context.AppGeneralQuotes.OrderByDescending(x => x.Fecha).Skip((filter.PageNumber - 1) * filter.PageSize).Take(filter.PageSize).ToListAsync(); } } return(result); } catch (Exception e) { var a = e.InnerException.Message; return(result); } }
public async Task <IActionResult> InsertDetailQuotes(AppDetailQuotesCreateDto appDetailQuotesCreateDto) { Metadata metadata = new Metadata { IsValid = false, Message = "", TotalCount = 0 }; try { Core.Responses.ApiResponse <AppDetailQuotesGetDto> detailQuotes = await _appDetailQuotesService.InsertAppDetailQuotes(appDetailQuotesCreateDto); if (detailQuotes.Meta.IsValid) { AppGeneralQuotesQueryFilter filterGeneral = new AppGeneralQuotesQueryFilter { Cotizacion = detailQuotes.Data.Cotizacion }; PagedList <AppGeneralQuotesGetDto> generalQuotes = await _appGeneralQuotesService.GetAllAppGeneralQuotes(filterGeneral); foreach (AppGeneralQuotesGetDto item in generalQuotes) { item.AppDetailQuotesInsertedGetDto = detailQuotes.Data; } ApiResponse <List <AppGeneralQuotesGetDto> > response = new ApiResponse <List <AppGeneralQuotesGetDto> >(generalQuotes) { Meta = detailQuotes.Meta }; return(Ok(response)); } return(Ok(detailQuotes)); } catch (Exception e) { metadata.IsValid = false; metadata.Message = e.InnerException.Message; ApiResponse <AppDetailQuotesGetDto> responseError = new ApiResponse <AppDetailQuotesGetDto>(null) { Meta = metadata }; return(Ok(responseError)); } }
public async Task <ApiResponse <AppGeneralQuotesGetDto> > EnviarAlCliente(AppGeneralQuotesChangeStatusDto dto) { AppGeneralQuotesGetDto resultDto = new AppGeneralQuotesGetDto(); Metadata metadata = new Metadata { IsValid = true, Message = "" }; ApiResponse <AppGeneralQuotesGetDto> response = new ApiResponse <AppGeneralQuotesGetDto>(resultDto); try { AppGeneralQuotes appGeneralQuotes = await GetById(dto.Id); if (appGeneralQuotes == null) { metadata.IsValid = false; metadata.Message = "Cotizacion No Existe!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } if (appGeneralQuotes.IdEstatus != 1) { metadata.IsValid = false; metadata.Message = "Cotizacion No esta en grabacion!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } ApiResponse <List <AppDetailQuotesGetDto> > appDatailQuotes = await _appDetailQuotesService.GetListAppDetailQuoteByAppGeneralQuotesId(dto.Id); if (appDatailQuotes.Data.Count > 0) { foreach (AppDetailQuotesGetDto item in appDatailQuotes.Data) { AppDetailQuotes detailQuotes = await _appDetailQuotesService.GetById(item.Id); if (detailQuotes != null) { if (detailQuotes.PrecioUsd < detailQuotes.UnitPriceConverted) { metadata.IsValid = false; metadata.Message = "Precio de Venta es menor a la Lista..Enviar a Aprobacion!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } detailQuotes.IdEstatus = 2; await _appDetailQuotesService.Update(detailQuotes); } } appGeneralQuotes.IdEstatus = 2; AppGeneralQuotes AppGeneralQuotesUpdated = await Update(appGeneralQuotes); await _cotizacionService.IntegrarCotizacion(appGeneralQuotes.Id); AppGeneralQuotesQueryFilter filters = new AppGeneralQuotesQueryFilter { Cotizacion = appGeneralQuotes.Cotizacion }; resultDto = await GetAppGeneralQuotes(filters); metadata.IsValid = true; metadata.Message = "Cotizacion Enviada al cliente!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } else { metadata.IsValid = false; metadata.Message = "Cotizacion No tiene Productos cargados!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } } catch (Exception ex) { metadata.IsValid = false; metadata.Message = ex.InnerException.Message; response.Meta = metadata; response.Data = resultDto; return(response); } }
public async Task <AppGeneralQuotesGetDto> GetAppGeneralQuotes(AppGeneralQuotesQueryFilter filters) { filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber; filters.PageSize = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize; AppGeneralQuotes quotes = await _unitOfWork.AppGeneralQuotesRepository.GetByCotizacions(filters.Cotizacion); if (quotes != null) { AppGeneralQuotesGetDto appGeneralQuotesGetDto = _mapper.Map <AppGeneralQuotesGetDto>(quotes); MtrVendedor mtrVendedor = _unitOfWork.MtrVendedorRepository.GetById(appGeneralQuotesGetDto.IdVendedor); if (mtrVendedor != null) { MtrVendedorDto mtrVendedorDto = _mapper.Map <MtrVendedorDto>(mtrVendedor); appGeneralQuotesGetDto.MtrVendedorDto = mtrVendedorDto; } MtrCliente mtrCliente = _unitOfWork.MtrClienteRepository.GetById(appGeneralQuotesGetDto.IdCliente); if (mtrCliente != null) { MtrClienteDto mtrClienteDto = _mapper.Map <MtrClienteDto>(mtrCliente); appGeneralQuotesGetDto.MtrClienteDto = mtrClienteDto; } MtrContactos mtrContactos = await _unitOfWork.MtrContactosRepository.GetById(appGeneralQuotesGetDto.IdContacto); if (mtrContactos != null) { //MtrContactosDto mtrContactosDto = new MtrContactosDto(); //mtrContactosDto.IdContacto = mtrContactos.IdContacto; //mtrContactosDto.Cargo = mtrContactos.Email; MtrContactosDto mtrContactosDto = _mapper.Map <MtrContactosDto>(mtrContactos); appGeneralQuotesGetDto.MtrContactosDto = mtrContactosDto; } MtrDirecciones direccionEntregar = await _unitOfWork.MtrDireccionesRepository.GetById(appGeneralQuotesGetDto.IdDireccionEntregar); if (direccionEntregar != null) { MtrDireccionesDto direccionEntregarDto = _mapper.Map <MtrDireccionesDto>(direccionEntregar); appGeneralQuotesGetDto.MtrDireccionesEntregarDto = direccionEntregarDto; } MtrDirecciones direccionFacturar = await _unitOfWork.MtrDireccionesRepository.GetById(appGeneralQuotesGetDto.IdDireccionFacturar); if (direccionFacturar != null) { MtrDireccionesDto direccionFacturarDto = _mapper.Map <MtrDireccionesDto>(direccionFacturar); appGeneralQuotesGetDto.MtrDireccionesFacturarDto = direccionFacturarDto; } MtrCondicionPago condicionPago = await _unitOfWork.MtrCondicionPagoRepository.GetById(appGeneralQuotesGetDto.IdCondPago); if (condicionPago != null) { CondicionPagoDto condicionPagoDto = _mapper.Map <CondicionPagoDto>(condicionPago); appGeneralQuotesGetDto.CondicionPagoDto = condicionPagoDto; } MtrTipoMoneda mtrTipoMoneda = await _unitOfWork.MtrTipoMonedaRepository.GetById(appGeneralQuotesGetDto.IdMtrTipoMoneda); if (mtrTipoMoneda != null) { MtrTipoMonedaDto mtrTipoMonedaDto = _mapper.Map <MtrTipoMonedaDto>(mtrTipoMoneda); appGeneralQuotesGetDto.MtrTipoMonedaDto = mtrTipoMonedaDto; } var actualizar = await _unitOfWork.AppGeneralQuotesRepository.VerificarStatus(appGeneralQuotesGetDto.Id); if (actualizar) { await _unitOfWork.SaveChangesAsync(); } AppStatusQuote appStatusQuote = await _unitOfWork.AppStatusQuoteRepository.GetById(appGeneralQuotesGetDto.IdEstatus); if (appStatusQuote != null) { AppStatusQuoteGetDto appStatusQuoteDto = _mapper.Map <AppStatusQuoteGetDto>(appStatusQuote); appGeneralQuotesGetDto.AppStatusQuoteGetDto = appStatusQuoteDto; } appGeneralQuotesGetDto.PorcFlete = await GetFleteByIdDireccionEntrega(appGeneralQuotesGetDto.IdDireccionEntregar); var permiteAdicionarDetalle = await _unitOfWork.AppGeneralQuotesRepository.PermiteAdicionarDetalle(appGeneralQuotesGetDto.Id); appGeneralQuotesGetDto.PermiteAdicionarDetalle = permiteAdicionarDetalle; appGeneralQuotesGetDto.AppGeneralQuotesActionSheetDto = await GetAppGeneralQuotesActionSheetDto(appGeneralQuotesGetDto.Id); ApiResponse <List <AppDetailQuotesGetDto> > listDetail = await _appDetailQuotesService.GetListAppDetailQuoteByAppGeneralQuotesId(appGeneralQuotesGetDto.Id); if (listDetail != null) { appGeneralQuotesGetDto.AppDetailQuotesGetDto = listDetail.Data; } return(appGeneralQuotesGetDto); } else { return(null); } }
public async Task <PagedList <AppGeneralQuotesGetDto> > GetAllAppGeneralQuotes(AppGeneralQuotesQueryFilter filters) { filters.PageNumber = filters.PageNumber == 0 ? _paginationOptions.DefaultPageNumber : filters.PageNumber; filters.PageSize = filters.PageSize == 0 ? _paginationOptions.DefaultPageSize : filters.PageSize; List <AppGeneralQuotes> quotes = await _unitOfWork.AppGeneralQuotesRepository.GetAll(filters); if (quotes.Count > 0) { List <AppGeneralQuotesGetDto> appGeneralQuotesGetDto = _mapper.Map <List <AppGeneralQuotesGetDto> >(quotes); foreach (AppGeneralQuotesGetDto item in appGeneralQuotesGetDto) { MtrVendedor mtrVendedor = _unitOfWork.MtrVendedorRepository.GetById(item.IdVendedor); if (mtrVendedor != null) { MtrVendedorDto mtrVendedorDto = _mapper.Map <MtrVendedorDto>(mtrVendedor); item.MtrVendedorDto = mtrVendedorDto; } MtrCliente mtrCliente = _unitOfWork.MtrClienteRepository.GetById(item.IdCliente); if (mtrCliente != null) { MtrClienteDto mtrClienteDto = _mapper.Map <MtrClienteDto>(mtrCliente); item.MtrClienteDto = mtrClienteDto; if (item.IdCliente == "000000") { item.MtrClienteDto.Descripcion = item.IdCliente.Trim() + "-" + item.RazonSocial.Trim() + " RIF: " + item.Rif.ToString(); } } MtrContactos mtrContactos = await _unitOfWork.MtrContactosRepository.GetById(item.IdContacto); if (mtrContactos != null) { MtrContactosDto mtrContactosDto = _mapper.Map <MtrContactosDto>(mtrContactos); item.MtrContactosDto = mtrContactosDto; } MtrDirecciones direccionEntregar = await _unitOfWork.MtrDireccionesRepository.GetById(item.IdDireccionEntregar); if (direccionEntregar != null) { MtrDireccionesDto direccionEntregarDto = _mapper.Map <MtrDireccionesDto>(direccionEntregar); item.MtrDireccionesEntregarDto = direccionEntregarDto; } MtrDirecciones direccionFacturar = await _unitOfWork.MtrDireccionesRepository.GetById(item.IdDireccionFacturar); if (direccionFacturar != null) { MtrDireccionesDto direccionFacturarDto = _mapper.Map <MtrDireccionesDto>(direccionFacturar); item.MtrDireccionesFacturarDto = direccionFacturarDto; } MtrCondicionPago condicionPago = await _unitOfWork.MtrCondicionPagoRepository.GetById(item.IdCondPago); if (condicionPago != null) { CondicionPagoDto condicionPagoDto = _mapper.Map <CondicionPagoDto>(condicionPago); item.CondicionPagoDto = condicionPagoDto; } MtrTipoMoneda mtrTipoMoneda = await _unitOfWork.MtrTipoMonedaRepository.GetById(item.IdMtrTipoMoneda); if (mtrTipoMoneda != null) { MtrTipoMonedaDto mtrTipoMonedaDto = _mapper.Map <MtrTipoMonedaDto>(mtrTipoMoneda); item.MtrTipoMonedaDto = mtrTipoMonedaDto; } var actualizar = await _unitOfWork.AppGeneralQuotesRepository.VerificarStatus(item.Id); if (actualizar) { await _unitOfWork.SaveChangesAsync(); } AppStatusQuote appStatusQuote = await _unitOfWork.AppStatusQuoteRepository.GetById(item.IdEstatus); if (appStatusQuote != null) { AppStatusQuoteGetDto appStatusQuoteDto = _mapper.Map <AppStatusQuoteGetDto>(appStatusQuote); item.AppStatusQuoteGetDto = appStatusQuoteDto; } if (item.IdCliente == "000000") { var municipio = await _unitOfWork.Winy243Repository.GetById(item.IdMunicipio); if (municipio != null) { item.PorcFlete = municipio.PorcFlete; MunicipioGetDto municipioGetDto = _mapper.Map <MunicipioGetDto>(municipio); item.MunicipioGetDto = municipioGetDto; } } else { item.PorcFlete = await GetFleteByIdDireccionEntrega(item.IdDireccionEntregar); var municipio = await _unitOfWork.Winy243Repository.GetByEstadoMunicipio(direccionEntregar.Estado, direccionEntregar.Municipio); if (municipio != null) { item.IdMunicipio = municipio.Recnum; item.descripcionMunicipio = municipio.DescMunicipio; MunicipioGetDto municipioGetDto = _mapper.Map <MunicipioGetDto>(municipio); item.MunicipioGetDto = municipioGetDto; } } var permiteAdicionarDetalle = await _unitOfWork.AppGeneralQuotesRepository.PermiteAdicionarDetalle(item.Id); item.PermiteAdicionarDetalle = permiteAdicionarDetalle; item.AppGeneralQuotesActionSheetDto = await GetAppGeneralQuotesActionSheetDto(item.Id); ApiResponse <List <AppDetailQuotesGetDto> > listDetail = await _appDetailQuotesService.GetListAppDetailQuoteByAppGeneralQuotesId(item.Id); if (listDetail != null) { item.AppDetailQuotesGetDto = listDetail.Data; } item.FechaString = item.Fecha.ToString("dd/MM/yyyy"); } PagedList <AppGeneralQuotesGetDto> pagedResult = PagedList <AppGeneralQuotesGetDto> .Create(appGeneralQuotesGetDto, filters.PageNumber, filters.PageSize); return(pagedResult); } else { return(null); } }
public async Task <IActionResult> GetAllAppGeneralQuotes(AppGeneralQuotesQueryFilter filters) { Metadata metadata = new Metadata { IsValid = false, Message = "", TotalCount = 0 }; try { var generalQuotes = await _appGeneralQuotesService.GetAllAppGeneralQuotes(filters); if (generalQuotes != null) { metadata.IsValid = true; metadata.Message = ""; metadata.TotalCount = generalQuotes.TotalCount; metadata.PageSize = generalQuotes.PageSize; metadata.CurrentPage = generalQuotes.CurrentPage; metadata.TotalPage = generalQuotes.TotalPage; metadata.HasNextPage = generalQuotes.HasNextPage; metadata.HasPreviousPage = generalQuotes.HasPreviousPage; metadata.NextPageUrl = ""; metadata.PreviousPageUrl = ""; ApiResponse <List <AppGeneralQuotesGetDto> > response = new ApiResponse <List <AppGeneralQuotesGetDto> >(generalQuotes) { Meta = metadata }; return(Ok(response)); } else { metadata.IsValid = true; metadata.Message = "No Data......."; metadata.TotalCount = 0; metadata.PageSize = filters.PageSize; metadata.CurrentPage = 0; metadata.TotalPage = filters.PageNumber; metadata.HasNextPage = false; metadata.HasPreviousPage = false; metadata.NextPageUrl = ""; metadata.PreviousPageUrl = ""; ApiResponse <List <AppGeneralQuotesGetDto> > response = new ApiResponse <List <AppGeneralQuotesGetDto> >(generalQuotes) { Meta = metadata }; return(Ok(response)); } } catch (Exception e) { metadata.IsValid = false; metadata.Message = e.InnerException.Message; var responseError = new ApiResponse <IEnumerable <CobAdjuntosCobranzaDto> >(null) { Meta = metadata }; return(Ok(responseError)); } }