Example #1
0
        private async Task <bool> registar_cargamasiva(List <SiteForRegister> items, string file_name, string tipo_proyecto)
        {
            var carga = new CargaMasivaForRegister();

            carga.estado_id      = 1;
            carga.fecha_registro = DateTime.Now;
            carga.nombre_archivo = file_name;
            carga.tipo_proyecto  = tipo_proyecto;

            return(await _repoBajaAltura.RegisterSite(carga, items));
        }
Example #2
0
        public async Task <bool> RegisterSite(CargaMasivaForRegister cargaForRegister
                                              , IEnumerable <SiteForRegister> commandDetais)
        {
            string      nombre_file;
            Site        site;
            CargaMasiva cargaMasiva = new CargaMasiva();

            cargaMasiva.estado_id = (Int32)Constantes.EstadoCarga.Creado;

            if (_context.CargaMasiva.ToList().Count <= 0)
            {
                nombre_file = "BA001-" + DateTime.Now.Year;
            }
            else
            {
                var      objMaximo = _context.CargaMasiva.ToList().Max(x => x.id);
                string[] max       = _context.CargaMasiva.Where(x => x.id == objMaximo).Single().nombre_archivo.Split('-');
                string   m         = max[0].Substring(2, 3);
                nombre_file = "BA" + (Convert.ToInt32(m) + 1).ToString().PadLeft(3, '0').ToString() + '-' + DateTime.Now.Year;
            }



            cargaMasiva.fecha_registro = DateTime.Now;
            cargaMasiva.usuario_id     = 1;
            cargaMasiva.nombre_archivo = nombre_file;
            cargaMasiva.tipo_proyecto  = cargaForRegister.tipo_proyecto;


            List <Site> sites = new List <Site>();

            using (var transaction = _context.Database.BeginTransaction())
            {
                await _context.AddAsync <CargaMasiva>(cargaMasiva);

                await _context.SaveChangesAsync();

                foreach (var item in commandDetais)
                {
                    site                     = new Site();
                    site.carga_id            = cargaMasiva.id;
                    site.direccion           = item.direccion;
                    site.distrito_id         = item.distrito_id;
                    site.estado_id           = (Int32)Constantes.Site.Creado;
                    site.fecha_registro      = item.fecha_registro;
                    site.geom                = item.geom;
                    site.latitud             = item.latitud;
                    site.longitud            = item.longitud;
                    site.nombre_site         = item.nombre_site;
                    site.numero_suministro   = item.numero_suministro;
                    site.presupuesto_costo   = item.presupuesto_costo;
                    site.presupuesto_ingreso = item.presupuesto_ingreso;
                    site.real_costo          = item.real_costo;
                    site.real_ingreso        = item.real_ingreso;
                    site.usuario_id          = item.usuario_id;
                    site.activo              = true;
                    site.tipo_proyecto       = cargaForRegister.tipo_proyecto;

                    sites.Add(site);
                }

                await _context.AddRangeAsync(sites);

                await _context.SaveChangesAsync();

                transaction.Commit();
                return(true);
            }
        }
        public async Task <int> RegisterCargaMasiva(CargaMasivaForRegister command, IEnumerable <CargaMasivaDetalleForRegister> commandDetais)
        {
            CargaMasivaDetalle cargaMasivaDetalle;
            CargaMasiva        cargaMasiva = new CargaMasiva();

            cargaMasiva.estado_id      = 1;
            cargaMasiva.fecha_registro = DateTime.Now;
            cargaMasiva.usuario_id     = 1;

            List <CargaMasivaDetalle> cargaMasivaDetalles = new List <CargaMasivaDetalle>();

            using (var transaction = _context.Database.BeginTransaction())
            {
                await _context.AddAsync <CargaMasiva>(cargaMasiva);

                await _context.SaveChangesAsync();

                foreach (var item in commandDetais)
                {
                    cargaMasivaDetalle                            = new CargaMasivaDetalle();
                    cargaMasivaDetalle.cantidad                   = item.cantidad;
                    cargaMasivaDetalle.carga_id                   = cargaMasiva.id;
                    cargaMasivaDetalle.asignado                   = item.asignado;
                    cargaMasivaDetalle.carreta                    = item.carreta;
                    cargaMasivaDetalle.conductor                  = item.conductor.Trim();
                    cargaMasivaDetalle.delivery                   = item.delivery;
                    cargaMasivaDetalle.destinatario               = item.destinatario.Trim();
                    cargaMasivaDetalle.direccion_carga            = item.direccion_carga.Trim();
                    cargaMasivaDetalle.direccion_destino_servicio = item.direccion_destino_servicio.ToString().Trim();
                    cargaMasivaDetalle.direccion_entrega          = item.direccion_entrega.ToString().Trim();

                    cargaMasivaDetalle.distrito_carga            = item.distrito_carga;
                    cargaMasivaDetalle.distrito_destino_servicio = item.distrito_destino_servicio.Trim();
                    cargaMasivaDetalle.factura       = item.factura;
                    cargaMasivaDetalle.fecha_carga   = item.fecha_carga;
                    cargaMasivaDetalle.fecha_entrega = item.fecha_entrega;
                    cargaMasivaDetalle.fecha_salida  = item.fecha_salida;
                    cargaMasivaDetalle.hora_carga    = item.hora_carga;
                    cargaMasivaDetalle.hora_entrega  = item.hora_entrega;
                    cargaMasivaDetalle.hora_salida   = item.hora_salida;
                    cargaMasivaDetalle.oc            = item.oc;
                    cargaMasivaDetalle.peso          = item.peso;
                    cargaMasivaDetalle.guias         = item.guias;

                    cargaMasivaDetalle.provincia    = item.provincia;
                    cargaMasivaDetalle.remitente    = item.remitente;
                    cargaMasivaDetalle.shipment     = item.shipment;
                    cargaMasivaDetalle.tiposervicio = item.tiposervicio;

                    cargaMasivaDetalle.tracto       = item.tracto;
                    cargaMasivaDetalle.volumen      = item.volumen;
                    cargaMasivaDetalle.recojo       = item.recojo == "Si" ? true : false;
                    cargaMasivaDetalle.notificacion = item.notificacion;
                    cargaMasivaDetalle.costo        = item.costo;
                    cargaMasivaDetalle.valorizado   = item.valorizado;


                    cargaMasivaDetalles.Add(cargaMasivaDetalle);
                }

                await _context.AddRangeAsync(cargaMasivaDetalles);

                await _context.SaveChangesAsync();



                transaction.Commit();


                return(cargaMasiva.id);
            }
        }