示例#1
0
        private void LogSetValuesByProveedorInfo(FilterTarifaProveedor tarifaProveedor)
        {
            var log = new Dtos.Log
            {
                Accion        = "TarifasAdmin.SetValuesByProveedor",
                App           = "Irsa.PDM.Web",
                CreateDate    = DateTime.Now,
                Modulo        = "Tarifas",
                Tipo          = App.Info,
                UsuarioAccion = UsuarioLogged,
                Descripcion   = JsonConvert.SerializeObject(tarifaProveedor)
            };

            LogAdmin.Create(log);
        }
示例#2
0
        private void LogSetValuesByProveedorError(FilterTarifaProveedor tarifaProveedor, Exception ex)
        {
            var log = new Dtos.Log
            {
                Accion        = "TarifasAdmin.SetValuesByProveedor",
                App           = "Irsa.PDM.Web",
                CreateDate    = DateTime.Now,
                Modulo        = "Tarifas",
                Tipo          = App.Error,
                UsuarioAccion = UsuarioLogged,
                Descripcion   = JsonConvert.SerializeObject(tarifaProveedor),
                StackTrace    = GetExceptionDetail(ex)
            };

            LogAdmin.Create(log);
        }
示例#3
0
        public string SetValuesByProveedor(FilterTarifaProveedor tarifaProveedor)
        {
            if (tarifaProveedor.Proveedor.Vehiculos == null || !tarifaProveedor.Proveedor.Vehiculos.Any())
            {
                throw new Exception("El proveedor no posee vehículos asociados");
            }

            var tarifarios = default(List <Entities.Tarifario>);

            try
            {
                var vehiculosId = tarifaProveedor.Proveedor.Vehiculos.Select(v => v.Id).ToList();
                tarifarios = PdmContext.Tarifarios.Where(e =>
                                                         (e.Estado == EstadoTarifario.Editable || e.Estado == EstadoTarifario.PendienteAprobacion) &&
                                                         vehiculosId.Contains(e.Vehiculo.Id)).ToList();

                tarifarios.ForEach(t =>
                {
                    SetValues(new FilterTarifas {
                        TarifarioId = t.Id
                    }, tarifaProveedor.Importe, tarifaProveedor.Oc);
                });

                LogSetValuesByProveedorInfo(tarifaProveedor);
            }
            catch (Exception ex)
            {
                LogSetValuesByProveedorError(tarifaProveedor, ex);
                throw;
            }

            return(!tarifarios.Any() ?
                   "Operación finalizada correctamente. No hay tarifarios abiertos asociados a ninguno de los vehículos."
                : tarifarios.Count() < tarifaProveedor.Proveedor.Vehiculos.Count()
                ? "Operación finalizada correctamente. Alguno de los vehículos no poseen tarifario abiertos." :
                   "Operación finalizada correctamente. Se actualizarion todos los tarifarios.");
        }