示例#1
0
        public ItemResult Edit(int resourceId, int updatedBy, InResource editedResource)
        {
            ItemResult itemResult = new ItemResult();

            using (NpgsqlConnection connection = this.CreateConnection())
            {
                try
                {
                    connection.Open();
                    this.CreateFunctionCallQuery(LibraryFunctions.fn_resource_edit, connection);
                    this.Cmd.Parameters.AddWithValue("p_resource_id", resourceId);
                    this.Cmd.Parameters.AddWithValue("p_updated_by", updatedBy);
                    this.Cmd.Parameters.AddWithValue("p_category_id", editedResource.CategoryId);
                    this.Cmd.Parameters.AddWithValue("p_resource_name", editedResource.ResourceName);
                    this.Cmd.Parameters.AddWithValue("p_shelf", editedResource.Shelf);
                    this.Cmd.Parameters.AddWithValue("p_catalogue", editedResource.Catalogue);
                    this.Cmd.Parameters.AddWithValue("p_publish_year", editedResource.PublishYear);
                    this.Cmd.Parameters.AddWithValue("p_card_number", editedResource.CardNumber);
                    this.Cmd.Parameters.AddWithValue("p_rfid", editedResource.Rfid);
                    this.Cmd.Parameters.AddWithValue("p_resource_type_id", editedResource.ResourceTypeId);
                    this.Cmd.Parameters.AddWithValue("p_author_id", editedResource.AuthorId);
                    this.Cmd.Parameters.AddWithValue("p_book_location_id", editedResource.BookLocationId);
                    this.Cmd.Parameters.AddWithValue("p_catalogue_id", editedResource.CatalogId);

                    NpgsqlDataReader dataReader = null;
                    dataReader = this.Cmd.ExecuteReader();
                    using (dataReader)
                    {
                        while (dataReader.Read())
                        {
                            itemResult.Item = dataReader[0];
                        }
                    }
                    connection.Close();
                }
                catch (PostgresException e)
                {
                    itemResult.Code    = e.MessageText;
                    itemResult.Message = LibraryErrorMessages.GetErrorMessage(itemResult.Code);
                }
                catch (NpgsqlException e)
                {
                    itemResult.Code    = (e.ErrorCode).ToString();
                    itemResult.Message = LibraryErrorMessages.GetErrorMessage(itemResult.Code);
                }
            }

            return(itemResult);
        }
        public ItemResult Post([FromForm] InResource inResource)
        {
            var resourceFile = inResource.ResourceFile;
            var filePath     = Path.Combine("/app/volume-resources", resourceFile.FileName);

            if (resourceFile.Length > 0)
            {
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    resourceFile.CopyTo(fileStream);
                }
            }

            return(pgResource.Add(inResource));
        }
 public ItemResult Put(int id, [FromBody] InResource inResource)
 {
     return(pgResource.Edit(id, currentUserId, inResource));
 }