Example #1
0
 public List <PadronTISH> Get()
 {
     using (var db = new ComitAPIDBContext())
     {
         return(db.Padron.ToList());
     }
 }
Example #2
0
 public PadronTISH Get(Int64 cuit)
 {
     using (var db = new ComitAPIDBContext())
     {
         return(db.Padron.Find(cuit));
     }
 }
Example #3
0
        private static Boolean nuevaVersion(string nombreArchivo)
        {
            using (var db = new ComitAPIDBContext())
            {
                var padronDataVersion = db.PadronData.Find(1)?.Version; //harcodeamos el id pero si en algun momento hay mas padrones hay que armar las relaciones en bd y acomodar aca

                var versionArchivoNuevo = nombreArchivo.Split('_')[1];

                if (padronDataVersion != null) //checkeamos si es null para la primera vez que se carga
                {
                    return(padronDataVersion != versionArchivoNuevo);
                }
                else //si no hay nada cargado
                {
                    var pd = new PadronData
                    {
                        IdPadron    = 1,
                        Version     = versionArchivoNuevo,
                        FechaSubida = DateTime.Today.Date
                    };
                    db.PadronData.Add(pd);
                    db.SaveChanges();
                    return(true);
                }
            }
        }
Example #4
0
 public Decimal Retencion(Int64 cuit)
 {
     using (var db = new ComitAPIDBContext())
     {
         var p = db.Padron.Find(cuit);
         if (p != null)
         {
             return(p.AlicuotaRetencion);
         }
         else
         {
             return(0);
         }
     }
 }
Example #5
0
        public HttpResponseMessage ActualizarPadron()
        {
            try
            {
                var httpRequest = HttpContext.Current.Request;

                foreach (string file in httpRequest.Files)
                {
                    var postedFile = httpRequest.Files[file];
                    if (nuevaVersion(postedFile.FileName))
                    {
                        var filePath = HttpContext.Current.Server.MapPath("~/" + postedFile.FileName);
                        postedFile.SaveAs(filePath);

                        Task.Run(() =>
                        {
                            using (var db = new ComitAPIDBContext())
                            {
                                //guardamos la data de la nueva version del padron
                                var padronData         = db.PadronData.Find(1);
                                padronData.Version     = postedFile.FileName.Split('_')[1];
                                padronData.FechaSubida = DateTime.Today.Date;
                                //limpiamos el padron para cargar los nuevos registros
                                db.Database.ExecuteSqlCommand("TRUNCATE TABLE padron_tish;");
                                db.SaveChanges();

                                //leemos archivo y guardamos registro a registro en la bd
                                var sr    = new StreamReader(filePath);
                                var linea = sr.ReadLine();
                                do
                                {
                                    var datos = linea.Split(';');

                                    var nCUIT      = datos[3];
                                    var percepcion = datos[4];
                                    var retencion  = datos[5];
                                    var p          = new PadronTISH
                                    {
                                        Cuit = Convert.ToInt64(nCUIT),
                                        AlicuotaPercepcion = Convert.ToDecimal(percepcion),
                                        AlicuotaRetencion  = Convert.ToDecimal(retencion)
                                    };
                                    db.Padron.Add(p);

                                    linea = sr.ReadLine();
                                }while (linea != null);
                                sr.Close();
                                db.SaveChanges();
                            }
                            if (File.Exists(filePath))
                            {
                                File.Delete(filePath);
                            }
                        });
                    }
                    else
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.Created, "El Archivo ya esta en su ultima version."));
                    }
                }
                return(Request.CreateErrorResponse(HttpStatusCode.Created, "Archivo(s) subido(s) correctamente! Que tenga un buen dia."));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex.Message));
            }
        }