Example #1
0
        public bool Equals(IncidentFilterItem other)
        {
            if (other == null)
            {
                return(false);
            }

            if (this.Id != other.Id)
            {
                return(false);
            }

            return(this.Id == other.Id);
        }
Example #2
0
        public static ReadOnlyCollection <IncidentFilterItem> Filter(int companyId, DateTime?from, DateTime?to, bool statusIdentified, bool statusAnalyzed, bool statusInProgress, bool statusClosed, int origin, int departmentId, long providerId, long customerId)
        {
            /* CREATE PROCEDURE Incident_Filter
             *   @CompanyId int,
             *   @DateFrom datetime,
             *   @DateTo datetime,
             *   @StatusIdentified bit,
             *   @StatusAnalyzed bit,
             *   @StatusInProcess bit,
             *   @StatusClosed bit,
             *   @Origin int,
             *   @DepartmentId int,
             *   @ProviderId bigint,
             *   @CustomerId bigint */
            var res = new List <IncidentFilterItem>();

            using (var cmd = new SqlCommand("Incident_Filter"))
            {
                using (var cnn = new SqlConnection(ConfigurationManager.ConnectionStrings["cns"].ConnectionString))
                {
                    cmd.Connection = cnn;
                    try
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add(DataParameter.Input("@CompanyId", companyId));
                        cmd.Parameters.Add(DataParameter.Input("@DateFrom", from));
                        cmd.Parameters.Add(DataParameter.Input("@DateTo", to));
                        cmd.Parameters.Add(DataParameter.Input("@StatusIdentified", statusIdentified));
                        cmd.Parameters.Add(DataParameter.Input("@StatusAnalyzed", statusAnalyzed));
                        cmd.Parameters.Add(DataParameter.Input("@StatusInProcess", statusInProgress));
                        cmd.Parameters.Add(DataParameter.Input("@StatusClosed", statusClosed));
                        cmd.Parameters.Add(DataParameter.Input("@Origin", origin));
                        cmd.Parameters.Add(DataParameter.Input("@DepartmentId", departmentId));
                        cmd.Parameters.Add(DataParameter.Input("@ProviderId", providerId));
                        cmd.Parameters.Add(DataParameter.Input("@CustomerId", customerId));
                        cmd.Connection.Open();
                        using (var rdr = cmd.ExecuteReader())
                        {
                            while (rdr.Read())
                            {
                                var incidentActionId = rdr.GetInt64(ColumnsIncidentFilterGet.IncidentActionId);
                                var item             = new IncidentFilterItem
                                {
                                    Id          = rdr.GetInt64(ColumnsIncidentFilterGet.IncidentId),
                                    Description = rdr.GetString(ColumnsIncidentFilterGet.IncidentDescription),
                                    Code        = string.Format(CultureInfo.InvariantCulture, "{0}", rdr.GetInt64(ColumnsIncidentFilterGet.Code)),
                                    Action      = new IncidentAction
                                    {
                                        Id          = incidentActionId,
                                        Description = rdr.GetString(ColumnsIncidentFilterGet.IncidentDescription)
                                    },
                                    Origin     = rdr.GetInt32(ColumnsIncidentFilterGet.Origin),
                                    Department = new Department
                                    {
                                        Id          = rdr.GetInt32(ColumnsIncidentFilterGet.DepartmentId),
                                        Description = rdr.GetString(ColumnsIncidentFilterGet.DepartmentName)
                                    },
                                    Provider = new Provider
                                    {
                                        Id          = rdr.GetInt64(ColumnsIncidentFilterGet.ProviderId),
                                        Description = rdr.GetString(ColumnsIncidentFilterGet.ProviderDescription)
                                    },
                                    Customer = new Customer
                                    {
                                        Id          = rdr.GetInt64(ColumnsIncidentFilterGet.CustomerId),
                                        Description = rdr.GetString(ColumnsIncidentFilterGet.CustomerDescription)
                                    },
                                    Amount = rdr.GetDecimal(ColumnsIncidentFilterGet.Amount),
                                    Status = rdr.GetInt32(ColumnsIncidentFilterGet.Status)
                                };

                                if (incidentActionId != 0)
                                {
                                    item.Action = new IncidentAction
                                    {
                                        Id          = incidentActionId,
                                        Description = rdr.GetString(ColumnsIncidentFilterGet.IncidentActionDescription)
                                    };
                                }
                                else
                                {
                                    item.Action = IncidentAction.Empty;
                                }

                                if (!rdr.IsDBNull(ColumnsIncidentFilterGet.OpenDate))
                                {
                                    item.Open = rdr.GetDateTime(ColumnsIncidentFilterGet.OpenDate);
                                }

                                if (!rdr.IsDBNull(ColumnsIncidentFilterGet.CloseDate))
                                {
                                    item.Close = rdr.GetDateTime(ColumnsIncidentFilterGet.CloseDate);
                                }

                                res.Add(item);
                            }
                        }
                    }
                    finally
                    {
                        if (cmd.Connection.State != ConnectionState.Closed)
                        {
                            cmd.Connection.Close();
                        }
                    }
                }
            }

            HttpContext.Current.Session["IncidentFilterData"] = res;
            return(new ReadOnlyCollection <IncidentFilterItem>(res));
        }