public async Task <Response> PostRecepcionArticulo([FromBody] RecepcionArticulos recepcionArticulo)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                if (recepcionArticulo.MaestroArticuloSucursal.Minimo > recepcionArticulo.Cantidad || recepcionArticulo.MaestroArticuloSucursal.Maximo < recepcionArticulo.Cantidad)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = "La Cantidad no está en el rango del Mínimo y Máximo"
                    });
                }

                db.Entry(recepcionArticulo.Articulo).State = EntityState.Unchanged;
                db.Entry(recepcionArticulo.MaestroArticuloSucursal).State = EntityState.Unchanged;
                db.Entry(recepcionArticulo).State = EntityState.Added;
                await db.SaveChangesAsync();

                db.ExistenciaArticuloProveeduria.Add(new ExistenciaArticuloProveeduria {
                    IdArticulo = recepcionArticulo.IdArticulo, Existencia = recepcionArticulo.Cantidad
                });
                await db.SaveChangesAsync();

                return(new Response
                {
                    IsSuccess = true,
                    Message = Mensaje.Satisfactorio
                });
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwRm),
                    ExceptionTrace       = ex,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
Exemple #2
0
        public static async Task ComprobarActivosFijosAlta()
        {
            try
            {
                var lista = await db.RecepcionActivoFijoDetalle.Where(c => c.Estado.Nombre == "Alta").Include(c => c.ActivoFijo.DepreciacionActivoFijo).ToListAsync();

                if (lista.Count == 0)
                {
                    timerDepreciacion.Dispose();
                }
                else
                {
                    foreach (var item in lista)
                    {
                        var depreciacionActivoFijo = item?.ActivoFijo?.DepreciacionActivoFijo?.FirstOrDefault();
                        if (depreciacionActivoFijo != null)
                        {
                            var ll = depreciacionActivoFijo.FechaDepreciacion.Subtract(DateTime.Now).TotalDays;
                            if ((depreciacionActivoFijo.FechaDepreciacion.Subtract(DateTime.Now).TotalDays) * (-1) >= 30)
                            {
                                //Buscar el indice (indiceDepreciacion) de cada uno de los Activos Fijos contra la Tabla TablaDepreciacion
                                if (depreciacionActivoFijo.ValorResidual > 1)
                                {
                                    var indiceDepreciacion = await db.TablaDepreciacion.FirstOrDefaultAsync();

                                    depreciacionActivoFijo.DepreciacionAcumulada += indiceDepreciacion.IndiceDepreciacion;
                                    depreciacionActivoFijo.FechaDepreciacion      = DateTime.Now;
                                    depreciacionActivoFijo.ValorResidual         -= depreciacionActivoFijo.DepreciacionAcumulada;
                                    if (depreciacionActivoFijo.ValorResidual <= 0)
                                    {
                                        depreciacionActivoFijo.ValorResidual = 1;
                                    }
                                    db.Entry(depreciacionActivoFijo.ActivoFijo).State = EntityState.Detached;
                                    db.Entry(depreciacionActivoFijo).State            = EntityState.Modified;
                                    await db.SaveChangesAsync();
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwRm),
                    ExceptionTrace       = ex,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });
            }
        }
Exemple #3
0
        public async Task <Response> PostSubClaseActivoFijo([FromBody] SubClaseActivoFijo subClaseActivoFijo)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                var respuesta = Existe(subClaseActivoFijo);
                if (!respuesta.IsSuccess)
                {
                    db.Entry(subClaseActivoFijo.ClaseActivoFijo).State = EntityState.Unchanged;
                    db.SubClaseActivoFijo.Add(subClaseActivoFijo);
                    await db.SaveChangesAsync();

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwRm),
                    ExceptionTrace       = ex,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }
        public async Task <Response> PostRecepcionActivoFijo([FromBody] RecepcionActivoFijoDetalle recepcionActivoFijoDetalle)
        {
            try
            {
                ModelState.Remove("IdActivoFijo");
                ModelState.Remove("IdRecepcionActivoFijo");
                ModelState.Remove("ActivoFijo.IdCodigoActivoFijo");

                if (!ModelState.IsValid)
                {
                    return(new Response
                    {
                        IsSuccess = false,
                        Message = Mensaje.ModeloInvalido
                    });
                }

                var respuesta = Existe(recepcionActivoFijoDetalle);
                if (!respuesta.IsSuccess)
                {
                    db.Entry(recepcionActivoFijoDetalle.RecepcionActivoFijo.SubClaseActivoFijo).State = EntityState.Unchanged;
                    db.Entry(recepcionActivoFijoDetalle.RecepcionActivoFijo.LibroActivoFijo).State    = EntityState.Unchanged;
                    await db.RecepcionActivoFijo.AddAsync(recepcionActivoFijoDetalle.RecepcionActivoFijo);

                    await db.SaveChangesAsync();

                    db.Entry(recepcionActivoFijoDetalle.ActivoFijo.Modelo).State       = EntityState.Unchanged;
                    db.Entry(recepcionActivoFijoDetalle.ActivoFijo.Ciudad).State       = EntityState.Unchanged;
                    db.Entry(recepcionActivoFijoDetalle.ActivoFijo.UnidadMedida).State = EntityState.Unchanged;
                    await db.ActivoFijo.AddAsync(recepcionActivoFijoDetalle.ActivoFijo);

                    await db.SaveChangesAsync();

                    db.Entry(recepcionActivoFijoDetalle.ActivoFijo).State          = EntityState.Unchanged;
                    db.Entry(recepcionActivoFijoDetalle.RecepcionActivoFijo).State = EntityState.Unchanged;
                    db.Entry(recepcionActivoFijoDetalle.Estado).State = EntityState.Unchanged;

                    db.RecepcionActivoFijoDetalle.Add(recepcionActivoFijoDetalle);
                    await db.SaveChangesAsync();

                    return(new Response
                    {
                        IsSuccess = true,
                        Message = Mensaje.Satisfactorio,
                        Resultado = recepcionActivoFijoDetalle
                    });
                }

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.ExisteRegistro
                });
            }
            catch (Exception ex)
            {
                await GuardarLogService.SaveLogEntry(new LogEntryTranfer
                {
                    ApplicationName      = Convert.ToString(Aplicacion.SwRm),
                    ExceptionTrace       = ex,
                    Message              = Mensaje.Excepcion,
                    LogCategoryParametre = Convert.ToString(LogCategoryParameter.Critical),
                    LogLevelShortName    = Convert.ToString(LogLevelParameter.ERR),
                    UserName             = "",
                });

                return(new Response
                {
                    IsSuccess = false,
                    Message = Mensaje.Error,
                });
            }
        }