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)); }
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); } }