Example #1
0
        internal override void EjecutarProceso(ServicioItemProduccion servicio)
        {
            var item = servicio.RepositorioProduccion.ObtenerObjetos(new FiltroProduccionHoy()).FirstOrDefault();

            if (item == null)
            {
                servicio.ItemProduccion.FECHA = DateTime.Now;
                servicio.Repositorio.Agregar(servicio.ItemProduccion);
                servicio.SetearEstado(new EstadoActualizarStock());
            }
            else
            {
                throw new ApplicationException($"No se puede ingresar items a produccion ya que la producción del día fue ingresada.");
            }
        }
Example #2
0
        internal override void EjecutarProceso(ServicioItemProduccion servicio)
        {
            var detalleItemProduccionAModificar = servicio.RepositorioDetalle.ObtenerObjetos(new FiltroDetalleItemProduccionPorId(servicio.DetalleItemProduccion.ID_DETALLE)).FirstOrDefault();

            if (detalleItemProduccionAModificar == null)
            {
                throw new ApplicationException($"No existe detalle item de producción cuyo id es {servicio.DetalleItemProduccion.ID_DETALLE}");
            }
            if (DateTime.Now > DateTime.Parse(servicio.DetalleItemProduccion.ITEM_PRODUCCION.FECHA.ToShortDateString()).AddHours(23).AddMinutes(59).AddSeconds(59))
            {
                throw new ApplicationException($"No se puede modificar el detalle item de producción.");
            }
            servicio.Diferencia = detalleItemProduccionAModificar.CANTIDAD - servicio.DetalleItemProduccion.CANTIDAD;
            detalleItemProduccionAModificar.CANTIDAD = servicio.DetalleItemProduccion.CANTIDAD;
            servicio.RepositorioDetalle.Actualizar(detalleItemProduccionAModificar);
            ActualizarUsuario(servicio, detalleItemProduccionAModificar.ID_ITEM_PRODUCCION, servicio.DetalleItemProduccion.ITEM_PRODUCCION.ID_USUARIO);
            servicio.SetearEstado(new EstadoActualizarUnStock());
        }