public ConsultaSocioFincaPorIdBE ConsultarSocioFincaPorId(ConsultaSocioFincaPorIdRequestDTO request) { ConsultaSocioFincaPorIdBE consultaSocioFincaPorIdBE = _ISocioFincaRepository.ConsultarSocioFincaPorId(request.SocioFincaId); consultaSocioFincaPorIdBE.FincaEstimado = _ISocioFincaRepository.ConsultarSocioFincaEstimadoPorSocioFincaId(request.SocioFincaId).ToList(); return(consultaSocioFincaPorIdBE); }
public int AnularGuiaRecepcionMateriaPrima(AnularGuiaRecepcionMateriaPrimaRequestDTO request) { ConsultaGuiaRecepcionMateriaPrimaPorIdBE consultaGuiaRecepcionMateriaPrimaPorIdBE = _IGuiaRecepcionMateriaPrimaRepository.ConsultarGuiaRecepcionMateriaPrimaPorId(request.GuiaRecepcionMateriaPrimaId); int contratoId = consultaGuiaRecepcionMateriaPrimaPorIdBE.ContratoAsignadoId; ConsultaContratoPorIdBE consultaContratoPorIdBE = _IContratoRepository.ConsultarContratoPorId(contratoId); if (consultaContratoPorIdBE.EstadoId == ContratoEstados.Completado) { //throw new ResultException(new Result { ErrCode = "04", Message = "Acopio.GuiaRecepcionMateriaPrima.ContratoCompletado.Label" }); throw new ResultException(new Result { ErrCode = "04", Message = "No se puede anular una guía con contrato asignado completado." }); } else if (consultaContratoPorIdBE.EstadoId == ContratoEstados.Asignado) { decimal kilosNetosPesado = consultaGuiaRecepcionMateriaPrimaPorIdBE.KilosNetosPesado; _IContratoRepository.ActualizarSaldoPendienteAsignacionAcopio(contratoId, kilosNetosPesado * (-1)); } int affected = _IGuiaRecepcionMateriaPrimaRepository.AnularGuiaRecepcionMateriaPrima(request.GuiaRecepcionMateriaPrimaId, DateTime.Now, request.Usuario, GuiaRecepcionMateriaPrimaEstados.Anulado); string productoIdCafePergamino = _ParametrosSettings.Value.ProductoIdCafePergamino; string subProductoIdCafeSeco = _ParametrosSettings.Value.SubProductoIdCafeSeco; if (consultaGuiaRecepcionMateriaPrimaPorIdBE.ProductoId == productoIdCafePergamino && consultaGuiaRecepcionMateriaPrimaPorIdBE.SubProductoId == subProductoIdCafeSeco && consultaGuiaRecepcionMateriaPrimaPorIdBE.SocioFincaCertificacion != String.Empty) { List <ConsultaSocioFincaEstimadoPorSocioFincaIdBE> fincaEstimados = _ISocioFincaRepository.ConsultarSocioFincaEstimadoPorSocioFincaId(consultaGuiaRecepcionMateriaPrimaPorIdBE.SocioFincaId.Value).ToList(); if (fincaEstimados.Count > 0) { int anioActual = DateTime.Now.Year; ConsultaSocioFincaEstimadoPorSocioFincaIdBE fincaEstima = null; fincaEstima = fincaEstimados.Where(x => x.Anio == anioActual).FirstOrDefault(); if (fincaEstima != null) { _ISocioFincaRepository.ActualizarSocioFincaEstimadoConsumido(fincaEstima.SocioFincaEstimadoId, consultaGuiaRecepcionMateriaPrimaPorIdBE.KilosBrutosPesado * -1); } } } return(affected); }