示例#1
0
        /// <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());
        }
示例#2
0
        /// <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));
        }