public object ingresaPagoContrato(PagoContrato pago, int id) { object result = null; try { var dyParam = new OracleDynamicParameters(); dyParam.Add("pc_id", OracleDbType.Int32, ParameterDirection.Input, id); dyParam.Add("pc_fecha", OracleDbType.Date, ParameterDirection.Input, pago.pagoContratoReal); dyParam.Add("pc_estado", OracleDbType.Int32, ParameterDirection.Input, pago.pagoContratoEstadoId); var conn = this.GetConnection(); if (conn.State == ConnectionState.Closed) { conn.Open(); } if (conn.State == ConnectionState.Open) { var query = "SP_INGRESA_PAGO_CONTRATO"; result = SqlMapper.Query(conn, query, param: dyParam, commandType: CommandType.StoredProcedure); } } catch (Exception ex) { throw ex; } return(result); }
public object InsertPagosByContrato(PagoContrato pagoContrato) { var dat = pagoContrato.pagoContratoVcto; var arrayList = new ArrayList(); for (int ctr = 0; ctr <= 12; ctr++) { //Console.WriteLine(dat.AddMonths(ctr).ToString("d")); //arrayList.Add(dat.AddMonths(ctr).ToString("d")); object result = null; ContratoRepository contrato = new ContratoRepository(configuration); dynamic resultContrato = contrato.GetLastContratoId(); try { var dyParam = new OracleDynamicParameters(); pagoContrato.pagoContratoVcto = Convert.ToDateTime(dat.AddMonths(ctr).ToString("d")); dyParam.Add("pc_pago_contrato_descripcion", OracleDbType.Varchar2, ParameterDirection.Input, pagoContrato.pagoContratoDescripcion); dyParam.Add("pc_contrato_id", OracleDbType.Int32, ParameterDirection.Input, Convert.ToInt32(resultContrato[0].CONTRATO_ID)); dyParam.Add("pc_pago_fecha_vcto", OracleDbType.Date, ParameterDirection.Input, pagoContrato.pagoContratoVcto); dyParam.Add("pc_cliente_id", OracleDbType.Int32, ParameterDirection.Input, pagoContrato.clienteId); var conn = this.GetConnection(); if (conn.State == ConnectionState.Closed) { conn.Open(); } if (conn.State == ConnectionState.Open) { var query = "SP_INSERT_PAGO_CONTRATO"; result = SqlMapper.Query(conn, query, param: dyParam, commandType: CommandType.StoredProcedure); } } catch (Exception ex) { throw ex; } } return("Ok"); }
public ActionResult InsertContrato([FromBody] PagoContrato pagoContrato) { var response = pagosRepository.InsertPagosByContrato(pagoContrato); return(Ok()); }
public ActionResult ingresaPagoContrato([FromBody] PagoContrato pago, int id) { var result = pagosRepository.ingresaPagoContrato(pago, id); return(Ok()); }
private ActionResult GuardarContrato(Contratos contratos, FormCollection form, bool esModificado, String[] PersonaNotificar_Id) { bool exito = false; string mensaje = string.Empty; try { if (contratos == null) { return(HttpNotFound()); } if (!AutorizacionContrato(contratos.Contrato_Id, true)) { return(RedirectToAction("AccessDenied", "Account")); } //if (ModelState.IsValid) //{ double valorContratoAux = Convert.ToDouble(contratos.ValorContratoAux.Replace(",", "").Replace(".00", "")); contratos.ValorContrato = valorContratoAux; double valorAdministrarAux = Convert.ToDouble(contratos.ValorAdministrarAux.Replace(",", "").Replace(".00", "")); contratos.ValorAdministrar = valorAdministrarAux; if (!string.IsNullOrEmpty(contratos.HonorariosAux)) { double honorariosAux = Convert.ToDouble(contratos.HonorariosAux.Replace(",", "").Replace(".00", "")); contratos.Honorarios = honorariosAux; } if (!string.IsNullOrEmpty(contratos.ValorPolizaAux)) { double valorPolizaAux = Convert.ToDouble(contratos.ValorPolizaAux.Replace(",", "").Replace(".00", "")); contratos.ValorPoliza = valorPolizaAux; } if (!string.IsNullOrEmpty(contratos.ValorCdpAux)) { double valorCdpAux = Convert.ToDouble(contratos.ValorCdpAux.Replace(",", "").Replace(".00", "")); contratos.ValorCDP = valorCdpAux; } if (!string.IsNullOrEmpty(contratos.ValorCrpAux)) { double valorCrpAux = Convert.ToDouble(contratos.ValorCrpAux.Replace(",", "").Replace(".00", "")); contratos.ValorCRP = valorCrpAux; } if (esModificado) { db.Entry(contratos).State = EntityState.Modified; } else { db.Contratos.Add(contratos); db.SaveChanges(); } int id = contratos.Contrato_Id; if (!string.IsNullOrEmpty(contratos.Observaciones)) { //Almaceno la observacion en la tabla historiaobservaciones HistoriaObservaciones historiaObs = new HistoriaObservaciones { Observaciones = contratos.Observaciones, Fecha = DateTime.Now, ContratoId = id, }; db.HistoriaObservaciones.Add(historiaObs); } //Almaceno las personas a notificar if (PersonaNotificar_Id != null) { foreach (var item in PersonaNotificar_Id) { Notificaciones notificacion = new Notificaciones() { ContractId = id, PersonId = Convert.ToInt32(item) }; db.Notificaciones.Add(notificacion); } } // Revisión de pagos - No aplican para los contratos que sean CIAD //Se desactiva el condicional para que guarde los pagos al contrato asi no sean interadministrativos //int idTipoContratoCIAD = (new ContratosHelper()).ObtenerIdCIAD(); //if (contratos.TipoContrato_Id != idTipoContratoCIAD) //{ List <PagoContrato> pagosActuales = null; List <int> pagosModificados = new List <int>(); if (esModificado) { pagosActuales = db.PagoContrato.Where(p => p.Contrato_Id == id).ToList <PagoContrato>(); } string strNumeroPagos = form["numeroPagos"]; if (!string.IsNullOrEmpty(strNumeroPagos)) { int numeroPagos = int.Parse(strNumeroPagos); for (int i = 0; i < numeroPagos; i++) { string idPagoAux = form["idPago_" + i]; double valorPagoAux = Convert.ToDouble(form["valorPago_" + i].Replace(",", "").Replace(".00", "")); PagoContrato pago = null; if (esModificado && !string.IsNullOrEmpty(idPagoAux)) { int idPago = int.Parse(idPagoAux); pagosModificados.Add(idPago); pago = pagosActuales.Where(p => p.PagosContrato_Id == idPago).FirstOrDefault <PagoContrato>(); pago.Valor = valorPagoAux; pago.Fecha = DateTime.Parse(form["fechaPago_" + i]); pago.Notas = !string.IsNullOrEmpty(form["notasPago_" + i]) ? form["notasPago_" + i] : string.Empty; db.Entry(pago).State = EntityState.Modified; } else { pago = new PagoContrato { Contrato_Id = id, Valor = valorPagoAux, Fecha = DateTime.Parse(form["fechaPago_" + i]), Notas = !string.IsNullOrEmpty(form["notasPago_" + i]) ? form["notasPago_" + i] : string.Empty }; db.PagoContrato.Add(pago); } } } else { mensaje = "No se agregaron pagos al contrato. Por favor verifique."; } //if (pagosActuales != null && pagosActuales.Count > 0 && pagosModificados != null && pagosModificados.Count > 0) //{ // List<PagoContrato> pagosContrato = new List<PagoContrato>(); // foreach (var pago in pagosActuales) // { // if (!pagosModificados.Contains(pago.PagosContrato_Id)) // db.Entry(pago).State = EntityState.Deleted; // else // pagosContrato.Add(pago); // } // contratos.PagoContrato = pagosContrato; //} //} // Solamente se deben guardar los cambios cuando NADA falle exito = (db.SaveChanges() > 0); //} //else //{ // mensaje = "No fue posible " + (ViewBag.IsEdit ? "actualizar" : "crear") + " el contrato"; //} } catch (Exception e) { mensaje = "Ha ocurrido un error al " + (ViewBag.IsEdit ? "actualizar" : "crear") + " el contrato: " + e.Message; } if (exito) { return(RedirectToAction("Index")); } else { ViewBag.Persona_Id = new SelectList(db.Personas.Where(x => x.TipoPersona_Id == 3), "Persona_Id", "NombreCompleto", contratos.Persona_Id); ViewBag.PersonaAbogado_Id = new SelectList(db.Personas.Where(x => x.TipoPersona_Id == 1), "Persona_Id", "NombreCompleto", contratos.PersonaAbogado_Id); ViewBag.PersonaSuperviosr_Id = new SelectList(db.Personas.Where(x => x.TipoPersona_Id == 2), "Persona_Id", "NombreCompleto", contratos.PersonaSuperviosr_Id); ViewBag.PersonaSupervisorTecnico_Id = new SelectList(db.Personas.Where(x => x.TipoPersona_Id == 4), "Persona_Id", "NombreCompleto", contratos.PersonaSupervisorTecnico_Id); ViewBag.TipoEstadoContrato_Id = new SelectList(db.TiposEstadoContrato, "TiposEstadoContrato_Id", "Descripcion", contratos.TipoEstadoContrato_Id); ViewBag.ContratoMarco_Id = new SelectList(db.Contratos.Where(c => c.ContratoMarco_Id == null), "Contrato_Id", "NumeroContrato", contratos.ContratoMarco_Id); ViewBag.TipoContrato_Id_Aux = new SelectList(db.TiposContratos, "TipoContrato_Id", "Descripcion", contratos.TipoContrato_Id); ViewBag.FormaPagoId = new SelectList(db.FormaPagoes, "Id", "Descripcion"); ViewBag.PersonaNotificar_Id = new SelectList(db.Personas, "Persona_Id", "NombreCompleto"); ViewBag.MensajeError = mensaje; return(View(contratos)); } }