/// <summary>Get the differences between tow repairs</summary> /// <param name="item1">Repair from compare</param> /// <param name="item2">Repair to compare</param> /// <returns>A text with the differences</returns> public static string Differences(EquipmentRepair item1, EquipmentRepair 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.Observations != item2.Observations) { res.Append("Observations:").Append(item2.Observations).Append("; "); } if (item1.Date != item2.Date) { res.Append("Date:").Append(item2.Date).Append("; "); } if (item1.Tools != item2.Tools) { res.Append("Tools:").Append(item2.Tools).Append("; "); } if (item1.Cost != item2.Cost) { res.Append("Cost:").Append(item2.Cost).Append("; "); } if (item1.Provider != null || item2.Provider != null) { if (item1.Provider == null) { res.Append("Provider:").Append(item2.Provider.Id).Append("; "); } else if (item2.Provider == null) { res.Append("Provider:null; "); } else if (item1.Provider.Id != item2.Provider.Id) { res.Append("Provider:").Append(item2.Provider.Id).Append("; "); } } if (item1.Responsible.Id != item2.Responsible.Id) { res.Append("Responsable:").Append(item2.Responsible.Id).Append("; "); } return(res.ToString()); }
/// <summary>Get the repairs on a equipment</summary> /// <param name="equipmentId">Equipment identifier</param> /// <param name="companyId">Company identifier</param> /// <returns>The list of a equipment repairs</returns> public static ReadOnlyCollection <EquipmentRepair> GetByEquipmentId(long equipmentId, int companyId) { /* CREATE PROCEDURE EquipmentRepair_GetByEquipmentId * @EquipmentId bigint, * @CompanyId int */ var res = new List <EquipmentRepair>(); using (var cmd = new SqlCommand("EquipmentRepair_GetByEquipmentId")) { using (var cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cns"].ConnectionString)) { cmd.Connection = cnn; try { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(DataParameter.Input("@EquipmentId", equipmentId)); cmd.Parameters.Add(DataParameter.Input("@CompanyId", companyId)); cmd.Connection.Open(); using (var rdr = cmd.ExecuteReader()) { while (rdr.Read()) { var equipmentRepair = new EquipmentRepair { Id = rdr.GetInt64(ColumnsEquipmentRepairGet.Id), CompanyId = rdr.GetInt32(ColumnsEquipmentRepairGet.CompanyId), EquipmentId = rdr.GetInt64(ColumnsEquipmentRepairGet.EquipmentId), Description = rdr.GetString(ColumnsEquipmentRepairGet.Description), Tools = rdr.GetString(ColumnsEquipmentRepairGet.Tools), Observations = rdr.GetString(ColumnsEquipmentRepairGet.Observations), Date = rdr.GetDateTime(ColumnsEquipmentRepairGet.Date), Active = rdr.GetBoolean(ColumnsEquipmentRepairGet.Active), RepairType = rdr.GetInt32(ColumnsEquipmentRepairGet.RepairType), Provider = new Provider { Id = rdr.GetInt64(ColumnsEquipmentRepairGet.ProviderId), Description = rdr.GetString(ColumnsEquipmentRepairGet.ProviderDescription) }, Responsible = new Employee { Id = rdr.GetInt32(ColumnsEquipmentRepairGet.ResponsibleEmployeeId), Name = rdr.GetString(ColumnsEquipmentRepairGet.ResponsibleName), LastName = rdr.GetString(ColumnsEquipmentRepairGet.ResponsibleLastName) }, ModifiedBy = new ApplicationUser { Id = rdr.GetInt32(ColumnsEquipmentRepairGet.ModifiedByUserId), UserName = rdr.GetString(ColumnsEquipmentRepairGet.ModifiedByUserName) }, ModifiedOn = rdr.GetDateTime(ColumnsEquipmentRepairGet.ModifiedOn) }; if (!rdr.IsDBNull(ColumnsEquipmentRepairGet.Cost)) { equipmentRepair.Cost = rdr.GetDecimal(ColumnsEquipmentRepairGet.Cost); } res.Add(equipmentRepair); } } } finally { if (cmd.Connection.State != ConnectionState.Closed) { cmd.Connection.Close(); } } } } return(new ReadOnlyCollection <EquipmentRepair>(res)); }