Exemplo n.º 1
0
 public CareRequest Get(int id)
 {
     careRequest = new CareRequest();
     using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Pets"].ConnectionString))
     {
         try
         {
             connection.Open();
             using (SqlCommand command = new SqlCommand("Select * From dbo.vwCareRequest Where ID = @id", connection))
             {
                 command.Parameters.AddWithValue("id", id);
                 using (SqlDataReader reader = command.ExecuteReader())
                 {
                     if (reader.HasRows)
                     {
                         reader.Read();
                         careRequest = GetCareRequestFromReader(reader);
                     }
                 }
             }
             careRequest.Customer = CustomerController.FindByID((int)careRequest.Customer.ID);
             careRequest.Visits   = CareVisitController.GetList((int)careRequest.ID);
         }
         catch (Exception ex)
         {
             throw new Exception(ex.Message);
         }
     }
     return(careRequest);
 }
Exemplo n.º 2
0
 private CareRequest GetCareRequestFromReader(SqlDataReader reader)
 {
     careRequest           = new CareRequest();
     careRequest.ID        = ((int)reader["ID"]);
     careRequest.Customer  = new Customer((int)reader["CustomerID"], (string)reader["CustomerName"]);
     careRequest.StartDate = (DateTime)reader["StartDate"];
     careRequest.EndDate   = (DateTime)reader["EndDate"];
     return(careRequest);
 }
        public CareRequest InsertCareRequest(CareRequest careRequest)
        {
            if (careRequest == null)
            {
                throw new ArgumentNullException();
            }
            _careRequestRepository.Insert(careRequest);

            return(careRequest);
        }
        public CareRequestModel PrepareCareRequestModel(CareRequest request)
        {
            var model = new CareRequestModel
            {
                Id               = request.Id,
                CustomerId       = request.CustomerId,
                CreatedOnUtc     = request.CreatedOnUtc.ToString(Constants.DateFormat.ShortDateString),
                CustomerFullName = _customerService.GetCustomerById(request.CustomerId).User.GetFullName(),
                Reason           = request.Reason,
                Answer           = request.Answer,
                ReviewedOn       = request.ReviewedOn.GetValueOrDefault().ToString(Constants.DateFormat.ShortDateString),
                StatusId         = request.StatusId
            };

            if (request.ReviewedById.HasValue)
            {
                model.ReviewedBy = _workerService.GetWorkerById(request.ReviewedById.Value).User.GetFullName();
            }

            return(model);
        }
Exemplo n.º 5
0
        public CareRequest Post(CareRequest careRequest)
        {
            SqlTransaction transaction;

            using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Pets"].ConnectionString))
            {
                connection.Open();
                transaction = connection.BeginTransaction();
                try
                {
                    using (SqlCommand command = new SqlCommand())
                    {
                        command.Connection  = connection;
                        command.Transaction = transaction;
                        command.Parameters.AddWithValue("CustomerID", careRequest.Customer.ID);
                        command.Parameters.AddWithValue("StartDate", careRequest.StartDate);
                        command.Parameters.AddWithValue("EndDate", careRequest.EndDate);
                        if (careRequest.ID == null)
                        {
                            command.CommandText = "Insert Into dbo.CareRequest (CustomerID, StartDate, EndDate) OUTPUT Inserted.ID Values (@CustomerID, @StartDate, @EndDate);";
                            careRequest.ID      = (int)command.ExecuteScalar();
                        }
                        else
                        {
                            command.CommandText = "Update dbo.CareRequest Set CustomerID = @CustomerID, StartDate = @StartDate, EndDate = @EndDate Where ID = @ID;";
                            command.Parameters.AddWithValue("ID", careRequest.ID);
                            command.ExecuteNonQuery();
                        }
                    }
                    CareVisitController.SaveList((int)careRequest.ID, careRequest.Visits, connection, transaction);
                    transaction.Commit();
                    return(Get((int)careRequest.ID)); //return the newly created CareRequest so the caller has fresh IDs, etc.
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw new Exception(ex.Message);
                }
            }
        }
Exemplo n.º 6
0
        public JsonResult MakeCareRequest(int customerId, string reason)
        {
            var customer = _customerService.GetCustomerById(customerId);

            if (string.IsNullOrWhiteSpace(reason))
            {
                return(Json(new { success = false, message = "Додайте необхідну інформацію" }, JsonRequestBehavior.AllowGet));
            }

            if (!_customerService.CanCreateCareRequest(customer.Id))
            {
                return(Json(new { success = false, message = "Такий запит уже існує в системі" }, JsonRequestBehavior.AllowGet));
            }
            var careRequest = new CareRequest
            {
                CustomerId = customerId,
                Reason     = reason,
                StatusId   = (int)CareRequestStatuses.Opened
            };


            _customerService.InsertCareRequest(careRequest);
            return(Json(new { success = true, message = "Ваш запит був успішно створений" }, JsonRequestBehavior.AllowGet));
        }
        public CareRequest UpdateCareRequest(CareRequest careRequest)
        {
            _careRequestRepository.Update(careRequest);

            return(careRequest);
        }