private ActionResult Update(int applicationUserId) { string source = string.Format( CultureInfo.InvariantCulture, @"IndicadorRegistro::IndicadorRegistro({0}, {1})", this.Id, applicationUserId); ActionResult res = ActionResult.NoAction; /* CREATE PROCEDURE IndicadorRegistro_Update * @Id int, * @Date datetime, * @Value decimal (18,6), * @ResponsibleId int, * @Comments nvarchar(500), * @ApplicationUserId int */ using (SqlCommand cmd = new SqlCommand("IndicadorRegistro_Update")) { try { cmd.CommandType = CommandType.StoredProcedure; using (SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cns"].ConnectionString)) { cmd.Connection = cnn; cmd.Parameters.Add(DataParameter.Input("@Id", this.Id)); cmd.Parameters.Add(DataParameter.Input("@Date", this.Date)); cmd.Parameters.Add(DataParameter.Input("@Value", this.Value)); cmd.Parameters.Add(DataParameter.Input("@ResponsibleId", this.Responsible.Id)); cmd.Parameters.Add(DataParameter.Input("@Comments", this.Comments, 500)); cmd.Parameters.Add(DataParameter.Input("@ApplicationUserId", applicationUserId)); cmd.Connection.Open(); cmd.ExecuteNonQuery(); this.Id = Convert.ToInt64(cmd.Parameters["@Id"].Value.ToString()); res.SetSuccess(); IndicadorRegistro newRecord = IndicadorRegistro.ById(this.Id, this.CompanyId); res.ReturnValue = newRecord.Json; } } catch (SqlException ex) { ExceptionManager.Trace(ex, source); } catch (FormatException ex) { ExceptionManager.Trace(ex, source); } catch (ArgumentNullException ex) { ExceptionManager.Trace(ex, source); } catch (ArgumentException ex) { ExceptionManager.Trace(ex, source); } catch (NullReferenceException ex) { ExceptionManager.Trace(ex, source); } catch (InvalidCastException ex) { ExceptionManager.Trace(ex, source); } finally { if (cmd.Connection.State != ConnectionState.Closed) { cmd.Connection.Close(); } } } return(res); }
public static ReadOnlyCollection <IndicadorRegistro> ByIndicadorId(int indicadorId, int companyId) { /* CREATE PROCEDURE [dbo].[IndicadorRegistro_GetByIndicadorId] * @IndicadorId int, * @CompanyId int */ var res = new List <IndicadorRegistro>(); using (var cmd = new SqlCommand("IndicadorRegistro_GetByIndicadorId")) { using (var cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cns"].ConnectionString)) { cmd.Connection = cnn; try { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(DataParameter.Input("@IndicadorId", indicadorId)); cmd.Parameters.Add(DataParameter.Input("@CompanyId", companyId)); cmd.Connection.Open(); using (var rdr = cmd.ExecuteReader()) { while (rdr.Read()) { IndicadorRegistro registro = new IndicadorRegistro() { Id = rdr.GetInt32(ColumnsIndicadorRegistroGet.Id), Indicador = new Indicador() { Id = rdr.GetInt32(ColumnsIndicadorRegistroGet.IndicadorId), Description = rdr.GetString(ColumnsIndicadorRegistroGet.IndicadorDescripcion) }, MetaComparer = rdr.GetString(ColumnsIndicadorRegistroGet.MetaComparer), Meta = rdr.GetDecimal(ColumnsIndicadorRegistroGet.Meta), AlarmaComparer = rdr.GetString(ColumnsIndicadorRegistroGet.MetaAlarm), Value = rdr.GetDecimal(ColumnsIndicadorRegistroGet.Value), Date = rdr.GetDateTime(ColumnsIndicadorRegistroGet.Date), Comments = rdr.GetString(ColumnsIndicadorRegistroGet.Comments), Responsible = new Employee() { Id = rdr.GetInt32(ColumnsIndicadorRegistroGet.ResponsibleId), Name = rdr.GetString(ColumnsIndicadorRegistroGet.ResponsibleName), LastName = rdr.GetString(ColumnsIndicadorRegistroGet.ResponsibleLastName), UserId = rdr.GetInt32(ColumnsIndicadorRegistroGet.EmployeeUserId), User = new ApplicationUser() { Id = rdr.GetInt32(ColumnsIndicadorRegistroGet.EmployeeUserId), UserName = rdr.GetString(ColumnsIndicadorRegistroGet.EmployeeUserName) } }, CreatedBy = new ApplicationUser() { Id = rdr.GetInt32(ColumnsIndicadorRegistroGet.CreatedBy), UserName = rdr.GetString(ColumnsIndicadorRegistroGet.CreatedByName) }, CreatedOn = rdr.GetDateTime(ColumnsIndicadorRegistroGet.CreatedOn), ModifiedBy = new ApplicationUser() { Id = rdr.GetInt32(ColumnsIndicadorRegistroGet.ModifiedBy), UserName = rdr.GetString(ColumnsIndicadorRegistroGet.ModifiedByName) }, ModifiedOn = rdr.GetDateTime(ColumnsIndicadorRegistroGet.ModifiedOn), Active = rdr.GetBoolean(ColumnsIndicadorRegistroGet.Active) }; if (!rdr.IsDBNull(ColumnsIndicadorRegistroGet.Alarm)) { registro.Alarma = rdr.GetDecimal(ColumnsIndicadorRegistroGet.Alarm); } res.Add(registro); } } } finally { if (cmd.Connection.State != ConnectionState.Closed) { cmd.Connection.Close(); } } } } return(new ReadOnlyCollection <IndicadorRegistro>(res)); }