public List <PresupuestoMaterialBE> PresupuestosFerreterias(int IdObra, decimal Area, string Latitud, string Longitud, int IdEstablecimiento) { try { var lista = new List <PresupuestoMaterialBE>(); var reader = db.Database.SqlQuery <sp_PresupuestoMaterial_Result>("sp_PresupuestoMaterial @param1, @param2, @param3,@param4", new SqlParameter("param1", Area), new SqlParameter("param2", IdObra), new SqlParameter("param3", Latitud), new SqlParameter("param4", Longitud) ); foreach (var item in reader) { var PresupuestoMaterialBE = new PresupuestoMaterialBE() { EstablecimientoBE = new EstablecimientoBE() { IdEstablecimiento = item.IdEstablecimiento, NombreComercial = item.NombreComercial, RazonSocial = item.RazonSocial, Direccion = item.Direccion, Latitud = item.Latitud, Longitud = item.Longitud, RUC = item.RUC }, SubTotal = (decimal)item.SubTotal, }; lista.Add(PresupuestoMaterialBE); } List <PresupuestoMaterialBE> lista2 = new List <PresupuestoMaterialBE>(); if (IdEstablecimiento == 0) { float lat = float.Parse(Latitud, CultureInfo.InvariantCulture); float longit = float.Parse(Longitud, CultureInfo.InvariantCulture); lista2 = lista.OrderBy(t => Extensiones.DistanciaKm(new Posicion(lat, longit), new Posicion(float.Parse(t.EstablecimientoBE.Latitud, CultureInfo.InvariantCulture), float.Parse(t.EstablecimientoBE.Longitud, CultureInfo.InvariantCulture)))).Take(5).ToList(); } else { lista2 = lista.Where(t => t.EstablecimientoBE.IdEstablecimiento == IdEstablecimiento).ToList(); } return(lista2.OrderBy(t => t.SubTotal).ToList()); } catch (Exception ex) { throw ex; } }
public int InsertarPresupuesto(PresupuestoMaterialBE presupuestoMaterialBE) { try { var presupuesto = new SG_PresupuestoMaterial() { IdPresupuestoMaterial = db.SG_PresupuestoMaterial.OrderByDescending(t => t.IdPresupuestoMaterial).FirstOrDefault() == null ? 1 : db.SG_PresupuestoMaterial.OrderByDescending(t => t.IdPresupuestoMaterial).FirstOrDefault().IdPresupuestoMaterial + 1, IdEstablecimiento = presupuestoMaterialBE.IdEstablecimiento, IdPersona = presupuestoMaterialBE.IdPersona, IdObra = presupuestoMaterialBE.IdObra, Fecha = DateTime.Now, SubTotal = presupuestoMaterialBE.SubTotal, Area = presupuestoMaterialBE.Area, IGV = 0, Total = presupuestoMaterialBE.SubTotal, EstadoDespacho = (int)ConstantesBE.EstadoDespacho.Pendiente }; db.SG_PresupuestoMaterial.Add(presupuesto); SG_PresupuestoMaterial_Articulo presupuestomaterial; foreach (var item in PresupuestoFerreteriaDetalle(presupuestoMaterialBE.IdObra, presupuestoMaterialBE.Area, presupuestoMaterialBE.IdEstablecimiento)) { presupuestomaterial = new SG_PresupuestoMaterial_Articulo() { IdPresupuestoMaterial = presupuesto.IdPresupuestoMaterial, IdArticulo = item.ArticuloBE.IdArticulo, Cantidad = item.Cantidad, Precio = item.Precio, SubTotal = item.SubTotal }; db.SG_PresupuestoMaterial_Articulo.Add(presupuestomaterial); presupuestomaterial = null; } db.SaveChanges(); return(presupuesto.IdPresupuestoMaterial); } catch (Exception ex) { return(0); } }
public int InsertarPresupuesto(PresupuestoMaterialBE PresupuestoMOBE) { return(PresupuestoMaterialDAO.InsertarPresupuesto(PresupuestoMOBE)); }