Ejemplo n.º 1
0
        public List <Equipment> Filter(EquipmentFilter equipment)
        {
            List <Equipment> equipments = new List <Equipment>();

            ApiConn.DAO.AddParameter("@Name", equipment.Name);
            ApiConn.DAO.AddParameter("@SerialNumber", equipment.SerialNumber);
            ApiConn.DAO.AddParameter("@Id_Type", equipment.Id_Type);
            ApiConn.DAO.AddParameter("@StartDate", equipment.StartDate);
            ApiConn.DAO.AddParameter("@EndDate", equipment.EndDate);

            string cmd = @"SELECT Id,[Name],SerialNumber,Id_Type,RegisterDate,Description
                           FROM Equipments WHERE
                           (
                                (@Name IS NULL) OR ([Name] LIKE @Name) AND
                                (@SerialNumber IS NULL) OR (SerialNumber = @SerialNumber) AND
                                (@Id_Type IS NULL) OR (Id_Type = @Id_Type) AND
                                (@StartDate IS NULL OR @EndDate IS NULL) OR (RegisterDate Between @StartDate AND @EndDate)
                           )";

            DataTable DT = ApiConn.DAO.ExecuteReader(cmd);

            foreach (DataRow row in DT.Rows)
            {
                equipments.Add(new Equipment
                {
                    Id           = int.Parse(row["Id"].ToString()),
                    Name         = row["Name"].ToString(),
                    Description  = row["Description"].ToString(),
                    SerialNumber = int.Parse(row["SerialNumber"].ToString()),
                    Id_Type      = int.Parse(row["Id_Type"].ToString()),
                    RegisterDate = (DateTime)row["RegisterDate"]
                });
            }
            return(equipments);
        }
Ejemplo n.º 2
0
        public List <Equipment> Filter(EquipmentFilter equipmentFilter)
        {
            IntegrityLayer.ValidateFilter(equipmentFilter);

            if (IntegrityLayer.Notifications.Count > 0)
            {
                this.Notifiable.Notifications = IntegrityLayer.Notifications;
                this.Notifiable.StatusCode    = (int)HttpStatusCode.BadRequest;
                return(null);
            }

            List <Equipment> equipments = this.DAL.Filter(equipmentFilter);

            this.Notifiable.StatusCode = (int)HttpStatusCode.OK;

            return(equipments);
        }
Ejemplo n.º 3
0
        public bool ValidateFilter(EquipmentFilter equipmentFilter)
        {
            if (equipmentFilter.Id != 0)
            {
                this._Notifications.Add(new Notification
                {
                    field   = "Id",
                    value   = equipmentFilter.Id,
                    message = "Id can't be different than 0."
                });
            }

            if (equipmentFilter.StartDate > equipmentFilter.EndDate)
            {
                this._Notifications.Add(new Notification
                {
                    field   = "StartDate",
                    value   = equipmentFilter.StartDate,
                    message = "StartDate can't be higher than EndDate."
                });
            }

            return(_Notifications.Count > 0 ? false : true);
        }