Esempio n. 1
0
        public void UpdateAttributes(Reserve infoReserveToUpdate)
        {
            if (!String.IsNullOrEmpty(infoReserveToUpdate.DescriptionForGuest))
            {
                DescriptionForGuest = infoReserveToUpdate.DescriptionForGuest;
            }

            if (Enum.IsDefined(typeof(ReserveState), infoReserveToUpdate.StateOfReserve))
            {
                StateOfReserve = infoReserveToUpdate.StateOfReserve;
            }
        }
Esempio n. 2
0
        //метод для вывода истории статусов резерва в модальном окне (Ajax)
        public async Task <IActionResult> _HistoryInModalAsync(string id)
        {
            List <ReserveState> data = new List <ReserveState>();

            try
            {
                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    await connection.OpenAsync();

                    SqlCommand query = new SqlCommand
                    {
                        CommandText = $@"SELECT ISNULL(r.number, '') number,
                                               rs.stateDate stateDate,
	                                           ISNULL(CAST(rs.state AS VARCHAR(20)), '') state,
	                                           CASE rs.state
		                                           WHEN -1 THEN 'Отменен (разобрать)'
		                                           WHEN 1 THEN 'Новый'
		                                           WHEN 2 THEN 'Готов к выдаче'
		                                           WHEN 4 THEN 'Ожидает подтверждения покупателя'
		                                           WHEN 5 THEN 'Подтвержден покупателем'
		                                           WHEN 6 THEN 'Отменен'
		                                           WHEN 8 THEN 'Выдан'
		                                           WHEN 9 THEN 'Комплектуется'
                                                   WHEN 20 THEN 'Дозаказ'
		                                           ELSE 'Нет описания статуса'
	                                           END AS description
                                        FROM (
	                                        SELECT number,
		                                           idReserve
	                                        FROM Reserve
	                                        WHERE idReserve = @id
                                        ) r
                                        LEFT JOIN ReserveState rs ON r.idReserve = rs.idReserve
                                        ORDER BY rs.stateDate",
                        Connection  = connection
                    };
                    query.Parameters.AddWithValue("id", id);
                    SqlDataReader reader = await query.ExecuteReaderAsync();

                    if (reader.HasRows)
                    {
                        while (await reader.ReadAsync())
                        {
                            if (string.IsNullOrEmpty(ViewBag.ReserveNumber))
                            {
                                ViewBag.ReserveNumber = reader["number"] as string;
                            }

                            ReserveState row = new ReserveState
                            {
                                number      = reader["number"] as string,
                                stateDate   = (DateTime?)reader.GetDateTime(1) ?? default(DateTime),
                                state       = reader["state"] as string,
                                description = reader["description"] as string
                            };
                            data.Add(row);
                        }
                    }
                    reader.Close();

                    connection.Close();
                }
            }
            catch (Exception e)
            {
                ViewBag.Message = "Ошибка: " + e.Message + Environment.NewLine + e.StackTrace;
            }

            return(PartialView("_HistoryInModal", data));
        }