/// <summary>Gets the differences between tow costs</summary> /// <param name="item1">Cost for compare</param> /// <param name="item2">Cost to compare</param> /// <returns></returns> public static string Differences(IncidentActionCost item1, IncidentActionCost item2) { if (item1 == null || item2 == null) { return(string.Empty); } var res = new StringBuilder(); if (item1.Description != item2.Description) { res.Append("Description=>").Append(item2.Description).Append(";"); } if (item1.Amount != item2.Amount) { res.Append("Amount=>").Append(item2.Amount).Append(";"); } if (item1.Quantity != item2.Quantity) { res.Append("Quantity=>").Append(item2.Quantity).Append(";"); } return(res.ToString()); }
public static ReadOnlyCollection <IncidentActionCost> GetByIncidentActionId(long incidentActionId, int companyId) { /* CREATE PROCEDURE IndecidentActionCost_GetByIndicentActionId * @IncidentId bigint, * @CompanyId int */ var res = new List <IncidentActionCost>(); using (var cmd = new SqlCommand("IndecidentActionCost_GetByIndicentActionId")) { using (var cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cns"].ConnectionString)) { cmd.Connection = cnn; try { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(DataParameter.Input("@IncidentActionId", incidentActionId)); cmd.Parameters.Add(DataParameter.Input("@CompanyId", companyId)); cmd.Connection.Open(); using (var rdr = cmd.ExecuteReader()) { while (rdr.Read()) { var newIncidentActionCost = new IncidentActionCost { Id = rdr.GetInt64(ColumnsIncidentCostGet.Id), CompanyId = rdr.GetInt32(ColumnsIncidentCostGet.CompanyId), IncidentActionId = rdr.GetInt64(ColumnsIncidentCostGet.IncidentActionId), Description = rdr.GetString(ColumnsIncidentCostGet.Description), Amount = rdr.GetDecimal(ColumnsIncidentCostGet.Amount), Quantity = rdr.GetDecimal(ColumnsIncidentCostGet.Quantity), Responsible = new Employee { Id = rdr.GetInt64(ColumnsIncidentCostGet.ResponsibleId), Name = rdr.GetString(ColumnsIncidentCostGet.ResponsibleName), LastName = rdr.GetString(ColumnsIncidentCostGet.ResponsibleLastName) }, Active = rdr.GetBoolean(ColumnsIncidentCostGet.Active) }; if (!rdr.IsDBNull(ColumnsIncidentCostGet.Date)) { newIncidentActionCost.Date = rdr.GetDateTime(ColumnsIncidentCostGet.Date); } res.Add(newIncidentActionCost); } } } finally { if (cmd.Connection.State != ConnectionState.Closed) { cmd.Connection.Close(); } } } } return(new ReadOnlyCollection <IncidentActionCost>(res)); }
public static ReadOnlyCollection <IncidentCost> AllCosts(long incidentId, int companyId) { var costs = ByIncidentId(incidentId, companyId).ToList(); var actionCosts = new ReadOnlyCollection <IncidentActionCost>(new List <IncidentActionCost>()); var action = IncidentAction.ByIncidentId(incidentId, companyId); if (action.Id > 0) { actionCosts = IncidentActionCost.GetByIncidentActionId(action.Id, companyId); foreach (var actionCost in actionCosts) { costs.Add(new IncidentCost { Id = actionCost.Id, IncidentId = incidentId, BusinessRiskId = actionCost.IncidentActionId, Description = actionCost.Description, Quantity = actionCost.Quantity, CompanyId = actionCost.CompanyId, Responsible = actionCost.Responsible, Amount = actionCost.Amount, Active = actionCost.Active, Source = "A", Date = actionCost.Date }); } } return(new ReadOnlyCollection <IncidentCost>(costs)); }
/// <summary>Get the costs of company</summary> /// <param name="companyId">Company identififer</param> /// <returns>A list of cost of the company</returns> public static string GetByCompany(int companyId) { var res = new StringBuilder("["); bool first = true; var costs = IncidentActionCost.GetByCompanyId(companyId); foreach (var cost in costs) { if (first) { first = false; } else { res.Append(","); } res.Append(cost.Json); } res.Append("]"); return(res.ToString()); }