Пример #1
0
        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);
            }
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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);
            }
        }
Пример #4
0
        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);
            }
        }
Пример #5
0
        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);
            }
        }
Пример #6
0
        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));
            }
        }