public ActionResult crearLicitacion(FormCollection fc) { Rangos rangos = new Rangos(); int idLicitacion = rangos.getSiguienteID("LICITACIONES"); string noLicitacion = fc["noLicitacion"]; int idMunicipio = Convert.ToInt32(fc["idMunicipio"]); string localidad = fc["localidad"]; string nombreObra = fc["nombreObra"]; string fechaVisita = fc["fechaVisita"].ToString(); string fechaAclaraciones = fc["fechaAclaraciones"]; string fechaPropuesta = fc["fechaPropuesta"]; string fechaFallo = fc["fechaFallo"]; int idEmpresa = Convert.ToInt32(fc["idEmpresa"]); //Conectamos BD para Llenar Table "Licitaciones" using (sgopEntities bd = new sgopEntities()) { //Formulario licitaciones tlicitaciones = new licitaciones(); tlicitaciones.idLicitacion = idLicitacion; tlicitaciones.noLicitacion = noLicitacion; tlicitaciones.idMunicipio = idMunicipio; tlicitaciones.localidad = localidad; tlicitaciones.nombreObra = nombreObra; tlicitaciones.idEmpresa = idEmpresa; //Convertir Stringo TO date string iDate = fechaVisita; DateTime oDate = Convert.ToDateTime(iDate); string iDate1 = fechaAclaraciones; DateTime oDate1 = Convert.ToDateTime(iDate1); string iDate2 = fechaPropuesta; DateTime oDate2 = Convert.ToDateTime(iDate2); string iDate3 = fechaFallo; DateTime oDate3 = Convert.ToDateTime(iDate3); // Sustituimos la conversion tlicitaciones.fechaVisita = oDate; tlicitaciones.fechaAclaraciones = oDate1; tlicitaciones.fechaPropuesta = oDate2; tlicitaciones.fechaFallo = oDate3; //Las opciones que no estan en formulario tlicitaciones.fechaModificacion = DateTime.Now; tlicitaciones.idEstatus = 1; tlicitaciones.actaVisita = ""; tlicitaciones.actaAclaraciones = ""; tlicitaciones.actaPropuesta = ""; tlicitaciones.actaFallo = ""; tlicitaciones.idRequisicion = 0; tlicitaciones.fechaCreacion = DateTime.Now; tlicitaciones.usuarioCreacion = 1; tlicitaciones.usuarioModificacion = 1; bd.licitaciones.Add(tlicitaciones); bd.SaveChanges(); bd.Dispose(); return(Json(new { a = true, b = "Guardado Con Exito" })); } } //Mandar ah llenar tabla licitaciones
public ActionResult AprobarRequisicion(FormCollection fc) { using (var db = new sgopEntities()) { try { //Guarda los valores enviados en las variables int noRequisicion = Convert.ToInt32(fc["noRequisicion"]); int idLicitacion = Convert.ToInt32(fc["idLicitacion"]); int idRequisicion = Convert.ToInt32(fc["idRequisicion"]); int idConcepto = Convert.ToInt32(fc["idConcepto"]); int idMaterial = Convert.ToInt32(fc["idMaterial"]); Rangos rango = new Rangos(); //Busca la requisición parcial para actualizarla a aprobada var reqParcial = db.requisicionesParciales.Where(rp => rp.idRequisicion == idRequisicion && rp.noRequisicion == noRequisicion && rp.idConcepto == idConcepto && rp.idMaterial == idMaterial && rp.cantidad > 0 && rp.aprobada.Equals("0")).First(); int idRequisicionParcial = reqParcial.idRequisicionParcial; reqParcial.aprobada = "1"; db.Entry(reqParcial).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); int noDcoumento = rango.getSiguienteID("FACTURACLIENTE");//Obtiene el noDocumento siguiente //Agrega la requisicion a la tabla control pagos controlPagos tCP = new controlPagos(); tCP.idRequisicionParcial = idRequisicionParcial; tCP.noDocumento = noDcoumento; tCP.idRequisicion = idRequisicion; tCP.clDocumento = "F"; tCP.fechaDocumento = DateTime.Now; tCP.usuarioCreacion = 1;//Cambiar cuando se agregue la sesión db.controlPagos.Add(tCP); db.SaveChanges(); db.Dispose(); return(Content(noDcoumento.ToString())); } catch (Exception e) { db.Dispose(); return(Content("error")); } } }
public ActionResult compensarPagos(FormCollection formularioBusqueda) { int noDocumento = Convert.ToInt32(formularioBusqueda["noDocumento"].ToString()); controlPagos documentoCompensar = new controlPagos(); using (var conexion = new sgopEntities()) { try { documentoCompensar = conexion.controlPagos.Where( auxControlPagos => auxControlPagos.noDocumento == noDocumento).First(); Rangos rango = new Rangos(); controlPagos documentoCompensador = new controlPagos(); documentoCompensador.idRequisicionParcial = documentoCompensar.idRequisicionParcial; documentoCompensador.noDocumento = rango.getSiguienteID("EGRESOS"); documentoCompensador.idRequisicion = documentoCompensar.idRequisicion; documentoCompensador.clDocumento = "E"; documentoCompensador.importe = Convert.ToDouble(formularioBusqueda["importe"].ToString()); documentoCompensador.fechaDocumento = DateTime.Now; documentoCompensador.docCompensacion = documentoCompensador.noDocumento; documentoCompensador.fechaCompensacion = documentoCompensador.fechaDocumento; documentoCompensador.usuarioCreacion = 1; documentoCompensador.usuarioCompensacion = 1; documentoCompensar.importe = documentoCompensador.importe * -1; documentoCompensar.docCompensacion = documentoCompensador.noDocumento; documentoCompensar.fechaCompensacion = documentoCompensador.fechaDocumento; documentoCompensar.usuarioCompensacion = 1; conexion.controlPagos.Add(documentoCompensador); conexion.Entry(documentoCompensar).State = System.Data.Entity.EntityState.Modified; conexion.SaveChanges(); return(RedirectToAction("index")); } catch (Exception ex) { return(Content("Error al consultar la base de datos 123")); } } }
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")); } } }
public ActionResult Subir_Proyecto(int Estatus, ProyectoViewModel model, HttpPostedFileBase PolizaAnticipo, HttpPostedFileBase PolizaVicios, HttpPostedFileBase PolizaCumplimiento) { model.fechaContrato.ToString("dd-MMM-yyyy"); SubirDocs oSubir = new SubirDocs(); if (!ModelState.IsValid) { return(View("Crear_Proyecto", model)); } else { string polizaAnticipo = null; if (PolizaAnticipo != null) { int i = PolizaAnticipo.FileName.IndexOf("."); string temp = PolizaAnticipo.FileName.Substring(i); string path = Server.MapPath("~/Res/Documentos/"); path += model.idLicitacion + "-01-" + temp; oSubir.Subir(path, PolizaAnticipo); polizaAnticipo = PolizaAnticipo.FileName; } string polizaVicios = null; if (PolizaVicios != null) { int i = PolizaVicios.FileName.IndexOf("."); string temp = PolizaVicios.FileName.Substring(i); string path = Server.MapPath("~/Res/Documentos/"); path += model.idLicitacion + "-02-" + temp; oSubir.Subir(path, PolizaVicios); polizaVicios = PolizaVicios.FileName; } string polizaCumplimiento = null; if (PolizaCumplimiento != null) { int i = PolizaCumplimiento.FileName.IndexOf("."); string temp = PolizaCumplimiento.FileName.Substring(i); string path = Server.MapPath("~/Res/Documentos/"); path += model.idLicitacion + "-03-" + temp; oSubir.Subir(path, PolizaCumplimiento); polizaCumplimiento = PolizaCumplimiento.FileName; } int IdProyecto = -1; using (var db = new sgopEntities()) { proyectos oProyecto = new proyectos(); if (oProyecto.idLicitacion == model.idLicitacion) { TempData["messag"] = "Ya existe un Proyecto para esa Licitacion!"; TempData["stat"] = "Error!!"; return(RedirectToAction("MenuProyectos")); } Rangos oRango = new Rangos(); int idProyecto = oRango.getSiguienteID("PROYECTOS"); IdProyecto = idProyecto; oProyecto.idProyecto = idProyecto; oProyecto.idLicitacion = model.idLicitacion; oProyecto.fechaContrato = Convert.ToDateTime(model.fechaContrato.ToString("dd-MMM-yyyy")); oProyecto.polizaAnticipo = polizaAnticipo; oProyecto.polizaVicios = polizaVicios; oProyecto.policaCumplimiento = polizaCumplimiento; oProyecto.idEstatus = Estatus; //Falta plazo dias. oProyecto.fechaInicioContrato = Convert.ToDateTime(model.fechaInicioContrato.ToString("dd-MMM-yyyy")); oProyecto.fechaFinalContrato = Convert.ToDateTime(model.fechaFinalContrato.ToString("dd-MMM-yyyy")); oProyecto.fechaInicioReal = Convert.ToDateTime(model.fechaInicioReal.ToString("dd-MMM-yyyy")); oProyecto.fechaFinalReal = Convert.ToDateTime(model.fechaFinalReal.ToString("dd-MMM-yyyy")); //Falta Acta entrega y Jefe de Obra. oProyecto.fechaCreacion = DateTime.Today; oProyecto.usuarioCreacion = 1; //Session["Id"].ToString(); db.proyectos.Add(oProyecto); db.SaveChanges(); } if (PolizaAnticipo != null && PolizaVicios != null && PolizaCumplimiento != null) { if (oSubir.confirmacion != true) { TempData["messag"] = "Ocurrio un error al cargar algun documento."; TempData["stat"] = "Error!"; return(RedirectToAction("MenuProyectos")); } else { TempData["messag"] = "Se agrego el proyecto exitosamente!"; TempData["stat"] = "Exito!"; return(RedirectToAction("MenuProyectos")); } } else { TempData["messag"] = "Se agrego el proyecto exitosamente!"; TempData["stat"] = "Exito!"; return(RedirectToAction("MenuProyectos")); } } }