public int Delete(long id) { Requisicion requisicion = new Requisicion(); requisicion = FindById(id); requisiciones requisicionTable = new requisiciones { id_requisicion = requisicion.GetId(), id_centro_gasto = requisicion.GetCentroGasto().GetId(), id_comprador = requisicion.GetComprador().GetId(), id_proveedor = requisicion.GetProveedor().GetId(), clave_requisicion = requisicion.GetClave(), fecha_elaboracion_requisicion = requisicion.GetFechaElaboracion(), fecha_entrega_requisicion = requisicion.GetFechaEntrega(), estado_requisicion = requisicion.GetEstado(), carta_compromiso_requisicion = requisicion.GetCartaCompromiso(), fecha_promesa_entrega = requisicion.GetFechaPromesaEntrega(), observacion_requisicion = requisicion.GetObservaciones() }; DAODataContext contexto = new DAODataContext(); contexto.requisiciones.Attach(requisicionTable); contexto.requisiciones.DeleteOnSubmit(requisicionTable); contexto.SubmitChanges(); return(0); }
/// <summary> /// Insercion del objeto requisicion /// </summary> /// <param name="requisicion"></param> /// <returns>El código de error, 0 si el resultado es exitoso</returns> public int Insert(Requisicion requisicion, bool agregarCentroGasto, bool agregarComprador, bool agregarProveedor) { if (agregarCentroGasto) { ///Aqui se manejara la insercion del centro de gasto CentroGasto centroGasto = new CentroGasto(); CentroGastoDAO centroGastoDAO = new CentroGastoDAO(); centroGastoDAO.Insert(centroGasto); } if (agregarComprador) { ///Aqui se manejara la insercion del comprador asignado Comprador comprador = new Comprador(); CompradorDAO compradorDAO = new CompradorDAO(); compradorDAO.Insert(comprador); } if (agregarProveedor) { ///Aqui se manejara la insercion del proveedor Proveedor proveedor = new Proveedor(); ProveedorDAO proveedorDAO = new ProveedorDAO(); proveedorDAO.Insert(proveedor); } requisiciones requisicionTable = new requisiciones { id_centro_gasto = requisicion.GetCentroGasto().GetId(), id_comprador = requisicion.GetComprador().GetId(), id_proveedor = requisicion.GetProveedor().GetId(), clave_requisicion = requisicion.GetClave(), fecha_elaboracion_requisicion = requisicion.GetFechaElaboracion(), fecha_entrega_requisicion = requisicion.GetFechaEntrega(), estado_requisicion = requisicion.GetEstado(), carta_compromiso_requisicion = requisicion.GetCartaCompromiso(), fecha_promesa_entrega = requisicion.GetFechaPromesaEntrega(), observacion_requisicion = requisicion.GetObservaciones() }; DAODataContext contexto = new DAODataContext(); contexto.requisiciones.InsertOnSubmit(requisicionTable); contexto.SubmitChanges(); return(0); }
public int Update(Requisicion requisicion) { DAODataContext contexto = new DAODataContext(); requisiciones requisicionTable = contexto.requisiciones.Single(req => req.id_requisicion == requisicion.GetId()); requisicionTable.id_centro_gasto = requisicion.GetCentroGasto().GetId(); requisicionTable.id_comprador = requisicion.GetComprador().GetId(); requisicionTable.id_proveedor = requisicion.GetProveedor().GetId(); requisicionTable.clave_requisicion = requisicion.GetClave(); requisicionTable.fecha_elaboracion_requisicion = requisicion.GetFechaElaboracion(); requisicionTable.fecha_entrega_requisicion = requisicion.GetFechaEntrega(); requisicionTable.estado_requisicion = requisicion.GetEstado(); requisicionTable.carta_compromiso_requisicion = requisicion.GetCartaCompromiso(); requisicionTable.fecha_promesa_entrega = requisicion.GetFechaPromesaEntrega(); requisicionTable.observacion_requisicion = requisicion.GetObservaciones(); contexto.SubmitChanges(); return(0); }
public int Update(long id, int idCentroGasto, int idComprador, int idProveedor, string clave, DateTime fechaElaboracion, DateTime?fechaEntrega, char?estado, string cartaCompromiso, DateTime?fechaPromesaEntrega, string observaciones) { DAODataContext contexto = new DAODataContext(); requisiciones requisicionTable = contexto.requisiciones.Single(req => req.id_requisicion == id); requisicionTable.id_centro_gasto = idCentroGasto; requisicionTable.id_comprador = idComprador; requisicionTable.id_proveedor = idProveedor; requisicionTable.clave_requisicion = clave; requisicionTable.fecha_elaboracion_requisicion = fechaElaboracion; requisicionTable.fecha_entrega_requisicion = fechaEntrega; requisicionTable.estado_requisicion = estado; requisicionTable.carta_compromiso_requisicion = cartaCompromiso; requisicionTable.fecha_promesa_entrega = fechaPromesaEntrega; requisicionTable.observacion_requisicion = observaciones; contexto.SubmitChanges(); return(0); }
/// <summary> /// Insercion del objeto requisicion /// </summary> /// <param name="idCentroGasto">El id del centro de gasto</param> /// <param name="idComprador">El id del comprador</param> /// <param name="idProveedor">El id del proveedor</param> /// <param name="clave">La clave de la requisicion</param> /// <param name="fechaElaboracion">La fecha de elaboracion de la requisicion</param> /// <param name="fechaEntrega">La fecha de entrega limite de la requisicion</param> /// <param name="estado">El estado de la requisicion</param> /// <param name="cartaCompromiso">La carta compromiso de la requisicion</param> /// <param name="fechaPromesaEntrega">La fecha de promesa de entrega de la requisicion</param> /// <param name="observaciones">Observaciones respecto a la requisicion</param> /// <returns>El código de error, 0 si el resultado es exitoso</returns> public int Insert(int idCentroGasto, int idComprador, int idProveedor, string clave, DateTime fechaElaboracion, DateTime?fechaEntrega, char?estado, string cartaCompromiso, DateTime?fechaPromesaEntrega, string observaciones) { requisiciones requisicionTable = new requisiciones { id_centro_gasto = idCentroGasto, id_comprador = idComprador, id_proveedor = idProveedor, clave_requisicion = clave, fecha_elaboracion_requisicion = fechaElaboracion, fecha_entrega_requisicion = fechaEntrega, estado_requisicion = estado, carta_compromiso_requisicion = cartaCompromiso, fecha_promesa_entrega = fechaPromesaEntrega, observacion_requisicion = observaciones }; DAODataContext contexto = new DAODataContext(); contexto.requisiciones.InsertOnSubmit(requisicionTable); contexto.SubmitChanges(); return(0); }
public ActionResult GuardaRequisicion(FormCollection fc) { using (var db = new sgopEntities()) { try { MethodEncrypt me = new MethodEncrypt(); Rangos rango = new Rangos(); int idLicitacion = Convert.ToInt32(me.getDecrypt(fc["idLicitacionEncrypt"])); JArray jsonConceptosAgregados = JArray.Parse(fc["conceptosAgregar"].ToString()); var licitacion = db.licitaciones.Where(lic => lic.idLicitacion == idLicitacion).First(); List <RequisicionesMaterialesViewModel> lstMateriales = new List <RequisicionesMaterialesViewModel>(); int idRequisicionRango = (int)licitacion.idRequisicion; //Si la licitacion no tiene agregada la requisicion obtiene una nueva if (idRequisicionRango == 0) { idRequisicionRango = rango.getSiguienteID("REQUISICIONES"); //Actualiza la requisicion de la licitacion licitacion.idRequisicion = idRequisicionRango; db.Entry(licitacion).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } else { var requisicionesList = (db.requisiciones.Where(req => req.idRequisicionRango == idRequisicionRango)).ToList(); var reqMatList = db.requisicionesMateriales.Where(reqMat => reqMat.idRequisicion == idRequisicionRango).ToList(); //Si la cantidad de la lista enviada es diferente a la cantidad de las requisiciones que hay en la base de datos //Entonces elimina todas las requisiciones totales y materiales if (requisicionesList.Count != jsonConceptosAgregados.Count) { //Requisiciones totales foreach (var item in requisicionesList) { int? idConcepto = item.idConcepto; requisiciones requisicion = db.requisiciones.Where(req => req.idConcepto == idConcepto && req.idRequisicionRango == idRequisicionRango).First(); db.requisiciones.Remove(requisicion); db.SaveChanges(); } //Requisiciones Materiales foreach (var item in reqMatList) { requisicionesMateriales requisicionMat = db.requisicionesMateriales.Where(reqMat => reqMat.idRequisicion == idRequisicionRango).First(); db.requisicionesMateriales.Remove(requisicionMat); db.SaveChanges(); } } } for (int i = 0; i < jsonConceptosAgregados.Count; i++) { int idConcepto = Convert.ToInt32(jsonConceptosAgregados[i]["idConcepto"]); double cantidad = Convert.ToDouble(jsonConceptosAgregados[i]["cantidad"]); //Trae la requisicion donde haya ese idConcepto y ese idRequisicion try { //Si la encuentra, actualiza la cantidad de la requisicion con ese idConcepto y ese idRequisicion var requisicion = db.requisiciones.Where(r => r.idConcepto == idConcepto && r.idRequisicionRango == idRequisicionRango).First(); requisicion.cantidad = cantidad; db.Entry(requisicion).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); //Trae la lista de las requisiciones materiales para ese idConcepto y idRequisicion var requisicionMatLista = db.requisicionesMateriales.Where(rm => rm.idConcepto == idConcepto && rm.idRequisicion == idRequisicionRango).ToList(); //Recorre la lista foreach (var reqm in requisicionMatLista) { //Busca en la tabla relacionConceptosMateriales el idConcepto y idMaterial para obtener la cantidad necesaria var relConcMat = db.relacionConceptosMateriales.Where(rcm => rcm.idConcepto == idConcepto && rcm.idMaterial == reqm.idMaterial).First(); //Busca la requisicionMaterial que se va a actualizar var requisicionMat = db.requisicionesMateriales.Find(reqm.idRequisicionMaterial); requisicionMat.total = cantidad * relConcMat.cantidad;//Actualiza el total db.Entry(requisicionMat).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } catch (Exception) { //Si no la encuentra, guarda una nueva requisicion con ese idConcepto y ese idRequisicion var concepto = db.catalogoConceptos.Find(idConcepto); requisiciones tRequisiciones = new requisiciones(); tRequisiciones.idRequisicionRango = idRequisicionRango; tRequisiciones.idConcepto = idConcepto; tRequisiciones.cantidad = cantidad; tRequisiciones.total = concepto.precioUnitario * cantidad; db.requisiciones.Add(tRequisiciones); db.SaveChanges(); //Obtiene todos los materiales que se necesitan para ese idConcepto lstMateriales = (from mat in db.relacionConceptosMateriales where mat.idConcepto == idConcepto select new RequisicionesMaterialesViewModel { idRelacion = mat.idRelacion, idConcepto = mat.idConcepto, idMaterial = mat.idMaterial, cantidadMaterial = mat.cantidad }).ToList(); foreach (var relacion in lstMateriales) { requisicionesMateriales tReqMat = new requisicionesMateriales(); tReqMat.idRequisicion = idRequisicionRango; tReqMat.idConcepto = idConcepto; tReqMat.idMaterial = relacion.idMaterial; tReqMat.total = cantidad * relacion.cantidadMaterial; db.requisicionesMateriales.Add(tReqMat); db.SaveChanges(); } } } db.Dispose(); return(Content("requisicionGuardada")); } catch (Exception) { db.Dispose(); return(Content("noExisteLicitacion")); } } }