public async Task <CobGeneralCobranza> InsertGeneralCobranza(CobGeneralCobranza generalCobranza) { SegUsuario user = await _unitOfWork.SegUsuarioRepository.GetUser(generalCobranza.UsuarioRegistro); if (user == null) { throw new Exception("usuario no existe"); } CobGeneralCobranza existenDocumentosPendientes = await _unitOfWork.GeneralCobranzaRepository.ExisteCobranzaPendienteEnviar(generalCobranza); if (existenDocumentosPendientes != null) { throw new BusinessException("Este cliente ya tiene un RC abierto pendiente por enviar N° " + existenDocumentosPendientes.Documento.ToString() + ".Agregue la cobranza a este RC.Si es necesario grabar otro RC a este cliente, envíe el que está pendiente a la administradora."); } MtrCliente cliente = await _mtrClienteService.GetByIdAsync(generalCobranza.IdCliente); MtrVendedor vendedor = await _mtrVendedorService.GetByIdAsync(cliente.Vendedor1); string vIn = cliente.OficinaVenta; short vOut = Convert.ToInt16(vIn); MtrOficina mtrOficina = await _mtrOficinaService.GetOficina(vOut); generalCobranza.SearchText = generalCobranza.IdCliente + "-" + cliente.Nombre + "-" + vendedor.Nombre + "-" + generalCobranza.Documento.ToString() + "-" + mtrOficina.NomOficina.Trim(); generalCobranza.OficinaVenta = cliente.OficinaVenta; await _unitOfWork.GeneralCobranzaRepository.Add(generalCobranza); await _unitOfWork.SaveChangesAsync(); CobGeneralCobranza result = await UpdateGeneralCobranza(generalCobranza); return(result); }
public async Task <IActionResult> GetEstadoCuenta(CobEstadoCuentaQueryFilter filters) { List <CobEstadoCuentaDto> result = new List <CobEstadoCuentaDto>(); Metadata metadata = new Metadata { IsValid = false, Message = "" }; ApiResponse <IEnumerable <CobEstadoCuentaDto> > response = new ApiResponse <IEnumerable <CobEstadoCuentaDto> >(result); string userSap = _paginationOptions.UserSap; string passwordSap = _paginationOptions.PasswordSap; var meta = await _sapClient.GetToken(userSap, passwordSap); if (!meta.IsValid) { metadata.IsValid = false; metadata.Message = "No tenemos conexion a SAP.....Intente mas tarde(Validando Conexion. CobEstadoCuentaController line 84)"; response.Data = result; response.Meta = metadata; return(Ok(response)); } PagedList <CobEstadoDeCuenta> listEstadoCuenta; listEstadoCuenta = await _cobEstadoCuentaService.GetEstadoCuenta(filters); if (listEstadoCuenta == null) { response.Meta = metadata; return(Ok(response)); } IEnumerable <CobEstadoCuentaDto> listEstadoCuentaDto = _mapper.Map <IEnumerable <CobEstadoCuentaDto> >(listEstadoCuenta); foreach (var item in listEstadoCuentaDto) { var cliente = await _mtrClienteService.GetByIdAsync(item.IdCliente); item.Saldo = item.Rpaap; decimal decimalValue = (decimal)item.Saldo; item.SaldoString = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)item.Iva; item.IvaString = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)item.MontoOriginal; item.MontoOriginalString = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)item.BaseImponible; item.BaseImponibleString = string.Format("{0:N}", decimalValue); // 1,234,567.00 item.searchText = item.Rpdct + "-" + item.Rpdoc.ToString() + "- Cliente: " + cliente.Nombre.Trim() + "- Saldo: " + item.SaldoString; result.Add(item); } metadata.IsValid = true; metadata.Message = ""; metadata.TotalCount = listEstadoCuenta.TotalCount; metadata.PageSize = listEstadoCuenta.PageSize; metadata.CurrentPage = listEstadoCuenta.CurrentPage; metadata.TotalPage = listEstadoCuenta.TotalPage; metadata.HasNextPage = listEstadoCuenta.HasNextPage; metadata.HasPreviousPage = listEstadoCuenta.HasPreviousPage; metadata.NextPageUrl = ""; // _uriService.GetGeneralCobranzaPaginationUri(filters, "").ToString(), metadata.PreviousPageUrl = ""; // _uriService.GetGeneralCobranzaPaginationUri(filters, "").ToString(), response.Data = result; response.Meta = metadata; return(Ok(response)); }
public async Task <ApiResponse <AppGeneralQuotesGetDto> > InsertGeneralQuotes(AppGeneralQuotesCreateDto appGeneralQuotesCreateDto) { AppGeneralQuotesGetDto resultDto = new AppGeneralQuotesGetDto(); Metadata metadata = new Metadata { IsValid = true, Message = "" }; ApiResponse <AppGeneralQuotesGetDto> response = new ApiResponse <AppGeneralQuotesGetDto>(resultDto); try { MtrCliente cliente = await _mtrClienteService.GetByIdAsync(appGeneralQuotesCreateDto.IdCliente); if (cliente == null) { metadata.IsValid = false; metadata.Message = "Cliente No Existe!!! " + appGeneralQuotesCreateDto.IdCliente; response.Meta = metadata; response.Data = resultDto; return(response); } MtrDirecciones direccionEntregarValidate = await _unitOfWork.MtrDireccionesRepository.GetById(appGeneralQuotesCreateDto.IdDireccionEntregar); if (direccionEntregarValidate == null && appGeneralQuotesCreateDto.IdCliente != "000000") { metadata.IsValid = false; metadata.Message = "Direccion Entregar No Existe!!! " + appGeneralQuotesCreateDto.IdCliente; response.Meta = metadata; response.Data = resultDto; return(response); } MtrContactos mtrContactosValidate = await _unitOfWork.MtrContactosRepository.GetById(appGeneralQuotesCreateDto.IdContacto); if (mtrContactosValidate == null) { metadata.IsValid = false; metadata.Message = "Contacto No Existe!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } MtrCondicionPago condicionPagoValidate = await _unitOfWork.MtrCondicionPagoRepository.GetById(appGeneralQuotesCreateDto.IdCondPago); if (condicionPagoValidate == null) { metadata.IsValid = false; metadata.Message = "Condicion de Pago No Existe!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } MtrTipoMoneda mtrTipoMonedaFind = await _unitOfWork.MtrTipoMonedaRepository.GetById(appGeneralQuotesCreateDto.IdMtrTipoMoneda); if (mtrTipoMonedaFind == null) { metadata.IsValid = false; metadata.Message = "Moneda No Existe!!! "; response.Meta = metadata; response.Data = resultDto; return(response); } if (appGeneralQuotesCreateDto.OrdenCompra.Length > 16) { metadata.IsValid = false; metadata.Message = "Longitud Maxima de Orden de Compra es 16 !!! "; response.Meta = metadata; response.Data = resultDto; return(response); } appGeneralQuotesCreateDto.Fecha = DateTime.Now; if (appGeneralQuotesCreateDto.IdCliente != "000000") { appGeneralQuotesCreateDto.Rif = cliente.NoRegTribut; appGeneralQuotesCreateDto.RazonSocial = cliente.Nombre; appGeneralQuotesCreateDto.Direccion = cliente.Direccion + " " + cliente.Direccion1; } AppGeneralQuotes appGeneralQuotes = _mapper.Map <AppGeneralQuotes>(appGeneralQuotesCreateDto); if (appGeneralQuotesCreateDto.IdCliente != "000000") { appGeneralQuotes.IdVendedor = cliente.Vendedor1.Trim(); } else { appGeneralQuotes.IdVendedor = appGeneralQuotesCreateDto.UsuarioActualiza; } if (appGeneralQuotesCreateDto.IdCliente == "000000") { appGeneralQuotes.IdMunicipio = appGeneralQuotesCreateDto.IdMunicipio; var municipio = await _unitOfWork.Winy243Repository.GetById(appGeneralQuotesCreateDto.IdMunicipio); if (municipio != null) { appGeneralQuotes.DescripcionMunicipio = municipio.DescMunicipio; } } else { var municipio = await _unitOfWork.Winy243Repository.GetByEstadoMunicipio(direccionEntregarValidate.Estado, direccionEntregarValidate.Municipio); if (municipio != null) { appGeneralQuotes.IdMunicipio = municipio.Recnum; appGeneralQuotes.DescripcionMunicipio = municipio.DescMunicipio; } } appGeneralQuotes.Cotizacion = _unitOfWork.CotizacionRepository.ProximaCotizacion(appGeneralQuotes.IdVendedor); appGeneralQuotes.IdEstatus = 1; appGeneralQuotes.CreatedAt = DateTime.Now; appGeneralQuotes.FechaActualiza = DateTime.Now; appGeneralQuotes.FechaCaducidad = DateTime.Now.AddDays(1); appGeneralQuotes.DiasVigencia = 1; appGeneralQuotes.ObservacionPostergar = ""; appGeneralQuotes.IdDireccionFacturar = (decimal)cliente.IdDireccion; appGeneralQuotes.UsuarioActualiza = appGeneralQuotesCreateDto.UsuarioActualiza; appGeneralQuotes.UserCreate = appGeneralQuotesCreateDto.UsuarioActualiza; appGeneralQuotes.Proximo = 0; appGeneralQuotes.FijarPrecioBs = appGeneralQuotesCreateDto.FijarPrecioBs; if (appGeneralQuotes.ObservacionPostergar == null) { appGeneralQuotes.ObservacionPostergar = ""; } AppStatusQuote appStatusQuote = await _unitOfWork.AppStatusQuoteRepository.GetById(appGeneralQuotes.IdEstatus); MtrVendedor vendedor = _unitOfWork.MtrVendedorRepository.GetById(appGeneralQuotes.IdVendedor); if (appGeneralQuotesCreateDto.IdCliente != "000000") { appGeneralQuotes.SearchText = $"{appGeneralQuotes.Cotizacion}-{appGeneralQuotes.IdVendedor}-{vendedor.Nombre.Trim()}-{appGeneralQuotes.IdCliente}-{cliente.Nombre.Trim()}-{appGeneralQuotes.IdVendedor}-{vendedor.Nombre.Trim()}-{appGeneralQuotes.IdCliente}-{appGeneralQuotes.RazonSocial.Trim()}-{appStatusQuote.Descripcion.Trim()}"; } else { appGeneralQuotes.SearchText = $"{appGeneralQuotes.Cotizacion}-{appGeneralQuotes.IdVendedor}-{vendedor.Nombre.Trim()}-{appStatusQuote.Descripcion.Trim()}"; appGeneralQuotes.IdDireccionEntregar = 1; appGeneralQuotes.IdDireccionFacturar = 1; } AppGeneralQuotes AppGeneralQuotesInserted = await Insert(appGeneralQuotes); await _cotizacionService.IntegrarCotizacion(AppGeneralQuotesInserted.Id); if (AppGeneralQuotesInserted != null) { resultDto = _mapper.Map <AppGeneralQuotesGetDto>(AppGeneralQuotesInserted); MtrVendedor mtrVendedor = _unitOfWork.MtrVendedorRepository.GetById(resultDto.IdVendedor); if (mtrVendedor != null) { MtrVendedorDto mtrVendedorDto = _mapper.Map <MtrVendedorDto>(mtrVendedor); resultDto.MtrVendedorDto = mtrVendedorDto; } MtrCliente mtrCliente = _unitOfWork.MtrClienteRepository.GetById(resultDto.IdCliente); if (mtrCliente != null) { MtrClienteDto mtrClienteDto = _mapper.Map <MtrClienteDto>(mtrCliente); resultDto.MtrClienteDto = mtrClienteDto; } MtrContactos mtrContactos = await _unitOfWork.MtrContactosRepository.GetById(resultDto.IdContacto); if (mtrContactos != null) { MtrContactosDto mtrContactosDto = _mapper.Map <MtrContactosDto>(mtrContactos); resultDto.MtrContactosDto = mtrContactosDto; } MtrDirecciones direccionEntregar = await _unitOfWork.MtrDireccionesRepository.GetById(resultDto.IdDireccionEntregar); if (direccionEntregar != null) { MtrDireccionesDto direccionEntregarDto = _mapper.Map <MtrDireccionesDto>(direccionEntregar); resultDto.MtrDireccionesEntregarDto = direccionEntregarDto; } MtrDirecciones direccionFacturar = await _unitOfWork.MtrDireccionesRepository.GetById(resultDto.IdDireccionFacturar); if (direccionFacturar != null) { MtrDireccionesDto direccionFacturarDto = _mapper.Map <MtrDireccionesDto>(direccionFacturar); resultDto.MtrDireccionesFacturarDto = direccionFacturarDto; } MtrCondicionPago condicionPago = await _unitOfWork.MtrCondicionPagoRepository.GetById(resultDto.IdCondPago); if (condicionPago != null) { CondicionPagoDto condicionPagoDto = _mapper.Map <CondicionPagoDto>(condicionPago); resultDto.CondicionPagoDto = condicionPagoDto; } MtrTipoMoneda mtrTipoMoneda = await _unitOfWork.MtrTipoMonedaRepository.GetById(resultDto.IdMtrTipoMoneda); if (mtrTipoMoneda != null) { MtrTipoMonedaDto mtrTipoMonedaDto = _mapper.Map <MtrTipoMonedaDto>(mtrTipoMoneda); resultDto.MtrTipoMonedaDto = mtrTipoMonedaDto; } metadata.IsValid = true; metadata.Message = $"Cotizacion: {resultDto.Cotizacion} creada Satisfactoriamente!!"; } else { metadata.IsValid = false; metadata.Message = "Registro No actualizado"; } 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 <IActionResult> GetAllGrabacionCobranza(CobGrabacionCobranzasQueryFilter filters) { PagedList <CobGrabacionCobranzas> listaCobGrabacionCobranzas; listaCobGrabacionCobranzas = _cobGrabacionCobranzasService.GetCobGrabacionCobranzas(filters); IEnumerable <CobGrabacionCobranzaDto> listaCobGrabacionCobranzasDto = _mapper.Map <IEnumerable <CobGrabacionCobranzaDto> >(listaCobGrabacionCobranzas); foreach (CobGrabacionCobranzaDto item in listaCobGrabacionCobranzasDto) { if (item.Transaccion == "RU") { item.DocAfectaMostrar = item.Cotizacion; } else { item.DocAfectaMostrar = item.DocAfectaSap; } decimal decimalValue = (decimal)item.Monto; item.MontoMostrar = string.Format("{0:N}", decimalValue); // 1,234,567.00 CobEstadoDeCuenta cobEstadoDeCuenta = await _cobEstadoCuentaService.GetEstadoCuentaById(item.DocAfecta); if (cobEstadoDeCuenta != null) { decimalValue = (decimal)cobEstadoDeCuenta.BaseImponible; item.BaseImponible = (decimal)cobEstadoDeCuenta.BaseImponible; item.BaseImponibleMostrar = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)cobEstadoDeCuenta.Iva; item.Iva = (decimal)cobEstadoDeCuenta.Iva; item.IvaMostrar = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)cobEstadoDeCuenta.MontoOriginal; item.MontoOriginalMostrar = string.Format("{0:N}", decimalValue); // 1,234,567.00 item.FechaDocumento = cobEstadoDeCuenta.FechaDocumento; DateTime fechaDocumento = (DateTime)cobEstadoDeCuenta.FechaDocumento; item.FechaDocumentoString = fechaDocumento.ToShortDateString(); CobEstadoCuentaDto estadoCuentaDto = _mapper.Map <CobEstadoCuentaDto>(cobEstadoDeCuenta); MtrCliente cliente = await _mtrClienteService.GetByIdAsync(estadoCuentaDto.IdCliente); estadoCuentaDto.Saldo = estadoCuentaDto.Rpaap; decimalValue = (decimal)estadoCuentaDto.Saldo; estadoCuentaDto.SaldoString = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)estadoCuentaDto.Iva; estadoCuentaDto.IvaString = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)estadoCuentaDto.MontoOriginal; estadoCuentaDto.MontoOriginalString = string.Format("{0:N}", decimalValue); // 1,234,567.00 decimalValue = (decimal)estadoCuentaDto.BaseImponible; estadoCuentaDto.BaseImponibleString = string.Format("{0:N}", decimalValue); // 1,234,567.00 estadoCuentaDto.searchText = estadoCuentaDto.Rpdct + "-" + estadoCuentaDto.Rpdoc.ToString() + "- Cliente: " + cliente.Nombre.Trim() + "- Saldo: " + estadoCuentaDto.SaldoString; item.CobEstadoCuentaDto = estadoCuentaDto; } } Metadata metadata = new Metadata { TotalCount = listaCobGrabacionCobranzas.TotalCount, PageSize = listaCobGrabacionCobranzas.PageSize, CurrentPage = listaCobGrabacionCobranzas.CurrentPage, TotalPage = listaCobGrabacionCobranzas.TotalPage, HasNextPage = listaCobGrabacionCobranzas.HasNextPage, HasPreviousPage = listaCobGrabacionCobranzas.HasPreviousPage, NextPageUrl = "", // _uriService.GetGeneralCobranzaPaginationUri(filters, "").ToString(), PreviousPageUrl = "" // _uriService.GetGeneralCobranzaPaginationUri(filters, "").ToString(), }; ApiResponse <IEnumerable <CobGrabacionCobranzaDto> > response = new ApiResponse <IEnumerable <CobGrabacionCobranzaDto> >(listaCobGrabacionCobranzasDto) { Meta = metadata }; return(Ok(response)); }